classafMorphia::Query
sys::Obj afMorphia::Query
A means to build Mongo queries with sane objects and methods. (And not some incomprehensible mess of nested maps and lists!)
Pass Query
objects to a QueryExecutor to run them.
- and
Query and(Query[] criteria)
Selects documents that pass all the query expressions in the given list. Example:
Query().and([ Query().field("quantity").lessThan(20), Query().field("price").eq(10) ])
Note the above could also be written implicitly with:
Query().field("quantity").lessThan(20).field("price").eq(10)
@see http://docs.mongodb.org/manual/reference/operator/query/and/
- field
QueryCriterion field(Obj name)
Creates a match for the given field name. It may reference nested objects using dot notation. Example,
user.name
name
may either an entityField
annotated with@Property
or a MongoDB property name (Str).- nor
Query nor(Query[] criteria)
Selects documents that fail all the query expressions in the given list. Example:
Query().nor([ Query().field("quantity").lessThan(20), Query().field("price").eq(10) ])
@see http://docs.mongodb.org/manual/reference/operator/query/nor/
- or
Query or(Query[] criteria)
Selects documents that pass any of the query expressions in the given list. Example:
Query().or([ Query().field("quantity").lessThan(20), Query().field("price").eq(10) ])
@see http://docs.mongodb.org/manual/reference/operator/query/or/
- toMongo
Str:Obj toMongo(Datastore datastore)
Returns a Mongo document representing the query. May be used by Datastore and Collection methods such as
findAndUpdate(...)
.- where
Query where(Code where)
Selects documents based on the return value of a javascript function. Example:
Query().where(Code("this.name == 'Judge Dredd'"))
As only 1 where function is allowed per query, only the last where function is used.
@see http://docs.mongodb.org/manual/reference/operator/query/where/