queryDocuments method
Queries documents from the specified collection based on criteria
Implementation
@override
Future<List<Map<String, dynamic>>> queryDocuments(
String collection, {
required Map<String, dynamic> where,
int? limit,
String? orderBy,
bool descending = false,
}) async {
final coll = _collection(collection);
final selector = _normalizeFilter(where);
final docs = await coll.find(selector).toList();
final results = docs.map(_normalizeDocument).toList();
final orderField = orderBy?.trim();
if (orderField != null && orderField.isNotEmpty) {
results.sort((a, b) {
final comparison = _compareValues(a[orderField], b[orderField]);
return descending ? -comparison : comparison;
});
}
if (limit != null && limit > 0 && results.length > limit) {
return results.take(limit).toList();
}
return results;
}