ObjectoryQueryBuilder class
class ObjectoryQueryBuilder extends SelectorBuilder{ bool paramFetchLinks = false; toString() => "ObjectoryQueryBuilder($map)"; Map get extParamsMap => {'skip': paramSkip, 'limit': paramLimit, 'fetchLinksMode': paramFetchLinks}; ObjectoryQueryBuilder eq(String fieldName,value) => super.eq(fieldName, value); ObjectoryQueryBuilder id(ObjectId value) => super.id(value); ObjectoryQueryBuilder ne(String fieldName, value) => super.ne(fieldName, value); ObjectoryQueryBuilder gt(String fieldName,value)=>super.gt(fieldName, value); ObjectoryQueryBuilder lt(String fieldName,value) => super.lt(fieldName, value); ObjectoryQueryBuilder lte(String fieldName,value) => super.lte(fieldName, value); ObjectoryQueryBuilder all(String fieldName, List values) => super.all(fieldName, values); ObjectoryQueryBuilder nin(String fieldName, List values) => super.nin(fieldName, values); ObjectoryQueryBuilder oneFrom(String fieldName, List values) => super.oneFrom(fieldName, values); ObjectoryQueryBuilder exists(String fieldName) => super.exists(fieldName); ObjectoryQueryBuilder notExists(String fieldName) => super.notExists(fieldName); ObjectoryQueryBuilder mod(String fieldName, int value) => super.mod(fieldName, value); ObjectoryQueryBuilder match(String fieldName, String pattern,{bool multiLine, bool caseInsensitive, bool dotAll, bool extended}) => super.match(fieldName, pattern, multiLine: multiLine, caseInsensitive: caseInsensitive, dotAll: dotAll, extended: extended); ObjectoryQueryBuilder inRange(String fieldName, min, max, {bool minInclude: true, bool maxInclude: false}) => super.inRange(fieldName, min, max, minInclude: minInclude, maxInclude: maxInclude); ObjectoryQueryBuilder comment(String commentStr) => super.comment(commentStr); ObjectoryQueryBuilder explain() => super.explain(); ObjectoryQueryBuilder snapshot() => super.snapshot(); ObjectoryQueryBuilder showDiskLoc() => super.showDiskLoc(); ObjectoryQueryBuilder returnKey() => super.returnKey(); ObjectoryQueryBuilder jsQuery(String javaScriptCode) => super.jsQuery(javaScriptCode); ObjectoryQueryBuilder fields(List<String> fields) => throw new Exception('Not impemented in Objectory'); ObjectoryQueryBuilder excludeFields(List<String> fields) => throw new Exception('Not impemented in Objectory'); ObjectoryQueryBuilder limit(int limit) => super.limit(limit); ObjectoryQueryBuilder skip(int skip) => super.skip(skip); ObjectoryQueryBuilder raw(Map rawSelector) => super.raw(rawSelector); ObjectoryQueryBuilder within(String fieldName, value) => super.within(fieldName, value); ObjectoryQueryBuilder near(String fieldName, var value, [double maxDistance]) => super.near(fieldName, value); ObjectoryQueryBuilder sortBy(String fieldName, {bool descending: false}) => super.sortBy(fieldName, descending: descending); ObjectoryQueryBuilder and(ObjectoryQueryBuilder other) => super.and(other); ObjectoryQueryBuilder or(ObjectoryQueryBuilder other) => super.or(other); ObjectoryQueryBuilder fetchLinks() { paramFetchLinks = true; return this; } ObjectoryQueryBuilder references(String propertyName, PersistentObject model) => eq(propertyName, new DbRef(model.collectionName, model.id)); ObjectoryQueryBuilder containsReference(String propertyName, PersistentObject model) => oneFrom(propertyName, [new DbRef(model.collectionName, model.id)]); ObjectoryQueryBuilder clone() { var copy = where; copy.map = new Map.from(map); return copy; } }
Extends
SelectorBuilder > ObjectoryQueryBuilder
Properties
Methods
ObjectoryQueryBuilder all(String fieldName, List values) #
ObjectoryQueryBuilder all(String fieldName, List values) => super.all(fieldName, values);
ObjectoryQueryBuilder and(ObjectoryQueryBuilder other) #
Combine current expression with expression in parameter.
See MongoDB doc
SelectorBuilder
provides implicit and
operator for chained queries so these two expression will produce
identical MongoDB queries
where.eq('price', 1.99).lt('qty', 20).eq('sale', true);
where.eq('price', 1.99).and(where.lt('qty',20)).and(where.eq('sale', true))
Both these queries would produce json map:
{'\$query': {'\$and': [{'price':1.99},{'qty': {'\$lt': 20 }}, {'sale': true }]}}
ObjectoryQueryBuilder and(ObjectoryQueryBuilder other) => super.and(other);
ObjectoryQueryBuilder clone() #
ObjectoryQueryBuilder clone() { var copy = where; copy.map = new Map.from(map); return copy; }
ObjectoryQueryBuilder comment(String commentStr) #
ObjectoryQueryBuilder comment(String commentStr) => super.comment(commentStr);
ObjectoryQueryBuilder containsReference(String propertyName, PersistentObject model) #
ObjectoryQueryBuilder containsReference(String propertyName, PersistentObject model) => oneFrom(propertyName, [new DbRef(model.collectionName, model.id)]);
ObjectoryQueryBuilder eq(String fieldName, value) #
ObjectoryQueryBuilder eq(String fieldName,value) => super.eq(fieldName, value);
ObjectoryQueryBuilder excludeFields(List<String> fields) #
ObjectoryQueryBuilder excludeFields(List<String> fields) => throw new Exception('Not impemented in Objectory');
ObjectoryQueryBuilder exists(String fieldName) #
ObjectoryQueryBuilder exists(String fieldName) => super.exists(fieldName);
ObjectoryQueryBuilder explain() #
ObjectoryQueryBuilder explain() => super.explain();
ObjectoryQueryBuilder fetchLinks() #
ObjectoryQueryBuilder fetchLinks() { paramFetchLinks = true; return this; }
ObjectoryQueryBuilder fields(List<String> fields) #
ObjectoryQueryBuilder fields(List<String> fields) => throw new Exception('Not impemented in Objectory');
String getQueryString() #
String getQueryString(){ var result = JSON.encode(map); result = result.replaceAllMapped(objectIdRegexp, (Match match)=>'ObjectId("${match.group(1)}")'); return result; }
ObjectoryQueryBuilder gt(String fieldName, value) #
ObjectoryQueryBuilder gt(String fieldName,value)=>super.gt(fieldName, value);
SelectorBuilder gte(String fieldName, value) #
SelectorBuilder gte(String fieldName,value){ _addExpression(fieldName,{"\$gte":value}); return this; }
SelectorBuilder hint(String fieldName, {bool descending: false}) #
SelectorBuilder hint(String fieldName, {bool descending: false}){ _query; if (!map.containsKey("\$hint")){ map["\$hint"] = new LinkedHashMap(); } int order = 1; if (descending){ order = -1; } map["\$hint"][fieldName] = order; return this; }
ObjectoryQueryBuilder id(ObjectId value) #
ObjectoryQueryBuilder id(ObjectId value) => super.id(value);
ObjectoryQueryBuilder inRange(String fieldName, min, max, {bool minInclude: true, bool maxInclude: false}) #
ObjectoryQueryBuilder inRange(String fieldName, min, max, {bool minInclude: true, bool maxInclude: false}) => super.inRange(fieldName, min, max, minInclude: minInclude, maxInclude: maxInclude);
ObjectoryQueryBuilder jsQuery(String javaScriptCode) #
ObjectoryQueryBuilder jsQuery(String javaScriptCode) => super.jsQuery(javaScriptCode);
ObjectoryQueryBuilder limit(int limit) #
ObjectoryQueryBuilder limit(int limit) => super.limit(limit);
ObjectoryQueryBuilder lt(String fieldName, value) #
ObjectoryQueryBuilder lt(String fieldName,value) => super.lt(fieldName, value);
ObjectoryQueryBuilder lte(String fieldName, value) #
ObjectoryQueryBuilder lte(String fieldName,value) => super.lte(fieldName, value);
ObjectoryQueryBuilder match(String fieldName, String pattern, {bool multiLine, bool caseInsensitive, bool dotAll, bool extended}) #
ObjectoryQueryBuilder match(String fieldName, String pattern,{bool multiLine, bool caseInsensitive, bool dotAll, bool extended}) => super.match(fieldName, pattern, multiLine: multiLine, caseInsensitive: caseInsensitive, dotAll: dotAll, extended: extended);
ObjectoryQueryBuilder mod(String fieldName, int value) #
ObjectoryQueryBuilder mod(String fieldName, int value) => super.mod(fieldName, value);
ObjectoryQueryBuilder ne(String fieldName, value) #
ObjectoryQueryBuilder ne(String fieldName, value) => super.ne(fieldName, value);
ObjectoryQueryBuilder near(String fieldName, value, [double maxDistance]) #
ObjectoryQueryBuilder near(String fieldName, var value, [double maxDistance]) => super.near(fieldName, value);
ObjectoryQueryBuilder nin(String fieldName, List values) #
ObjectoryQueryBuilder nin(String fieldName, List values) => super.nin(fieldName, values);
ObjectoryQueryBuilder notExists(String fieldName) #
ObjectoryQueryBuilder notExists(String fieldName) => super.notExists(fieldName);
ObjectoryQueryBuilder oneFrom(String fieldName, List values) #
ObjectoryQueryBuilder oneFrom(String fieldName, List values) => super.oneFrom(fieldName, values);
ObjectoryQueryBuilder or(ObjectoryQueryBuilder other) #
Combine current expression with expression in parameter by logical operator OR. See MongoDB doc For example inventory.find(where.eq('price', 1.99).and(where.lt('qty',20).or(where.eq('sale', true))));
This query will select all documents in the inventory collection where: the price field value equals 1.99 and either the qty field value is less than 20 or the sale field value is true MongoDB json query from this expression would be
{'\$query': {'\$and': [{'price':1.99}, {'\$or': [{'qty': {'\$lt': 20 }}, {'sale': true }]}]}}
ObjectoryQueryBuilder or(ObjectoryQueryBuilder other) => super.or(other);
ObjectoryQueryBuilder raw(Map rawSelector) #
ObjectoryQueryBuilder raw(Map rawSelector) => super.raw(rawSelector);
ObjectoryQueryBuilder references(String propertyName, PersistentObject model) #
ObjectoryQueryBuilder references(String propertyName, PersistentObject model) => eq(propertyName, new DbRef(model.collectionName, model.id));
ObjectoryQueryBuilder returnKey() #
ObjectoryQueryBuilder returnKey() => super.returnKey();
ObjectoryQueryBuilder showDiskLoc() #
ObjectoryQueryBuilder showDiskLoc() => super.showDiskLoc();
ObjectoryQueryBuilder skip(int skip) #
ObjectoryQueryBuilder skip(int skip) => super.skip(skip);
ObjectoryQueryBuilder snapshot() #
ObjectoryQueryBuilder snapshot() => super.snapshot();
ObjectoryQueryBuilder sortBy(String fieldName, {bool descending: false}) #
ObjectoryQueryBuilder sortBy(String fieldName, {bool descending: false}) => super.sortBy(fieldName, descending: descending);
dynamic toString() #
Returns a string representation of this object.
toString() => "ObjectoryQueryBuilder($map)";
ObjectoryQueryBuilder within(String fieldName, value) #
ObjectoryQueryBuilder within(String fieldName, value) => super.within(fieldName, value);