diff --git a/lib/src/network/parse_query.dart b/lib/src/network/parse_query.dart index 7180b333d..4a6c5364c 100644 --- a/lib/src/network/parse_query.dart +++ b/lib/src/network/parse_query.dart @@ -5,6 +5,18 @@ class QueryBuilder { /// Class to create complex queries QueryBuilder(this.object) : super(); + QueryBuilder.or(this.object, List> list) { + if (list != null) { + String query = '"\$or":['; + for (int i = 0; i < list.length; ++i) { + if (i > 0) query += ','; + query += '{' + list[i].buildQueries(list[i].queries) + '}'; + } + query += ']'; + queries.add(MapEntry(_NO_OPERATOR_NEEDED, query)); + } + } + static const String _NO_OPERATOR_NEEDED = 'NO_OP'; static const String _SINGLE_QUERY = 'SINGLE_QUERY';