Package com.mongodb
Class QueryBuilder
- java.lang.Object
-
- com.mongodb.QueryBuilder
-
-
Constructor Summary
Constructors Constructor Description QueryBuilder()
Creates a builder with an empty query
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description QueryBuilder
all(Object object)
Equivalent of the $all operandQueryBuilder
and(DBObject... ands)
Equivalent to an $and operandQueryBuilder
and(String key)
Equivalent toQueryBuilder.put(key)
.QueryBuilder
elemMatch(DBObject match)
Equivalent to the $elemMatch operandQueryBuilder
exists(Object object)
Equivalent of the $exists operandDBObject
get()
Creates aDBObject
query to be used for the driver's find operationsQueryBuilder
greaterThan(Object object)
Equivalent to the $gt operatorQueryBuilder
greaterThanEquals(Object object)
Equivalent to the $gte operatorQueryBuilder
in(Object object)
Equivalent of the $in operandQueryBuilder
is(Object object)
Equivalent of the find({key:value})QueryBuilder
lessThan(Object object)
Equivalent to the $lt operandQueryBuilder
lessThanEquals(Object object)
Equivalent to the $lte operandQueryBuilder
mod(Object object)
Equivalent of the $mod operandQueryBuilder
near(double x, double y)
Equivalent of the $near operandQueryBuilder
near(double x, double y, double maxDistance)
Equivalent of the $near operandQueryBuilder
nearSphere(double longitude, double latitude)
Equivalent of the $nearSphere operandQueryBuilder
nearSphere(double longitude, double latitude, double maxDistance)
Equivalent of the $nearSphere operandQueryBuilder
not()
Equivalent to $not meta operator.QueryBuilder
notEquals(Object object)
Equivalent of the $ne operandQueryBuilder
notIn(Object object)
Equivalent of the $nin operandQueryBuilder
or(DBObject... ors)
Equivalent to an $or operandQueryBuilder
put(String key)
Adds a new key to the query if not present yet.QueryBuilder
regex(Pattern regex)
Passes a regular expression for a queryQueryBuilder
size(Object object)
Equivalent of the $size operandstatic QueryBuilder
start()
Returns a new QueryBuilder.static QueryBuilder
start(String key)
Creates a new query with a document keyQueryBuilder
text(String search)
Equivalent to a $text operand.QueryBuilder
text(String search, String language)
Equivalent to a $text operand.QueryBuilder
withinBox(double x, double y, double x2, double y2)
Equivalent to a $within operand, based on a bounding box using represented by two cornersQueryBuilder
withinCenter(double x, double y, double radius)
Equivalent of the $within operand, used for geospatial operationQueryBuilder
withinCenterSphere(double longitude, double latitude, double maxDistance)
Equivalent of the $centerSphere operand mostly intended for queries up to a few hundred miles or km.QueryBuilder
withinPolygon(List<Double[]> points)
Equivalent to a $within operand, based on a bounding polygon represented by an array of points
-
-
-
Method Detail
-
start
public static QueryBuilder start()
Returns a new QueryBuilder.- Returns:
- a builder
-
start
public static QueryBuilder start(String key)
Creates a new query with a document key- Parameters:
key
- MongoDB document key- Returns:
this
-
put
public QueryBuilder put(String key)
Adds a new key to the query if not present yet. Sets this key as the current key.- Parameters:
key
- MongoDB document key- Returns:
this
-
and
public QueryBuilder and(String key)
Equivalent toQueryBuilder.put(key)
. Intended for compound query chains to be more readable, e.g.QueryBuilder.start("a").greaterThan(1).and("b").lessThan(3)
- Parameters:
key
- MongoDB document key- Returns:
this
-
greaterThan
public QueryBuilder greaterThan(Object object)
Equivalent to the $gt operator- Parameters:
object
- Value to query- Returns:
this
-
greaterThanEquals
public QueryBuilder greaterThanEquals(Object object)
Equivalent to the $gte operator- Parameters:
object
- Value to query- Returns:
this
-
lessThan
public QueryBuilder lessThan(Object object)
Equivalent to the $lt operand- Parameters:
object
- Value to query- Returns:
this
-
lessThanEquals
public QueryBuilder lessThanEquals(Object object)
Equivalent to the $lte operand- Parameters:
object
- Value to query- Returns:
this
-
is
public QueryBuilder is(Object object)
Equivalent of the find({key:value})- Parameters:
object
- Value to query- Returns:
this
-
notEquals
public QueryBuilder notEquals(Object object)
Equivalent of the $ne operand- Parameters:
object
- Value to query- Returns:
this
-
in
public QueryBuilder in(Object object)
Equivalent of the $in operand- Parameters:
object
- Value to query- Returns:
this
-
notIn
public QueryBuilder notIn(Object object)
Equivalent of the $nin operand- Parameters:
object
- Value to query- Returns:
this
-
mod
public QueryBuilder mod(Object object)
Equivalent of the $mod operand- Parameters:
object
- Value to query- Returns:
this
-
all
public QueryBuilder all(Object object)
Equivalent of the $all operand- Parameters:
object
- Value to query- Returns:
this
-
size
public QueryBuilder size(Object object)
Equivalent of the $size operand- Parameters:
object
- Value to query- Returns:
this
-
exists
public QueryBuilder exists(Object object)
Equivalent of the $exists operand- Parameters:
object
- Value to query- Returns:
this
-
regex
public QueryBuilder regex(Pattern regex)
Passes a regular expression for a query- Parameters:
regex
- Regex pattern object- Returns:
this
-
elemMatch
public QueryBuilder elemMatch(DBObject match)
Equivalent to the $elemMatch operand- Parameters:
match
- the object to match- Returns:
this
-
withinCenter
public QueryBuilder withinCenter(double x, double y, double radius)
Equivalent of the $within operand, used for geospatial operation- Parameters:
x
- x coordinatey
- y coordinateradius
- radius- Returns:
this
-
near
public QueryBuilder near(double x, double y)
Equivalent of the $near operand- Parameters:
x
- x coordinatey
- y coordinate- Returns:
this
-
near
public QueryBuilder near(double x, double y, double maxDistance)
Equivalent of the $near operand- Parameters:
x
- x coordinatey
- y coordinatemaxDistance
- max distance- Returns:
this
-
nearSphere
public QueryBuilder nearSphere(double longitude, double latitude)
Equivalent of the $nearSphere operand- Parameters:
longitude
- coordinate in decimal degreeslatitude
- coordinate in decimal degrees- Returns:
this
-
nearSphere
public QueryBuilder nearSphere(double longitude, double latitude, double maxDistance)
Equivalent of the $nearSphere operand- Parameters:
longitude
- coordinate in decimal degreeslatitude
- coordinate in decimal degreesmaxDistance
- max spherical distance- Returns:
this
-
withinCenterSphere
public QueryBuilder withinCenterSphere(double longitude, double latitude, double maxDistance)
Equivalent of the $centerSphere operand mostly intended for queries up to a few hundred miles or km.- Parameters:
longitude
- coordinate in decimal degreeslatitude
- coordinate in decimal degreesmaxDistance
- max spherical distance- Returns:
this
-
withinBox
public QueryBuilder withinBox(double x, double y, double x2, double y2)
Equivalent to a $within operand, based on a bounding box using represented by two corners- Parameters:
x
- the x coordinate of the first box corner.y
- the y coordinate of the first box corner.x2
- the x coordinate of the second box corner.y2
- the y coordinate of the second box corner.- Returns:
this
-
withinPolygon
public QueryBuilder withinPolygon(List<Double[]> points)
Equivalent to a $within operand, based on a bounding polygon represented by an array of points- Parameters:
points
- an array of Double[] defining the vertices of the search area- Returns:
this
-
text
public QueryBuilder text(String search)
Equivalent to a $text operand.- Parameters:
search
- the search terms to apply to the text index.- Returns:
this
- Since server release
- 2.6
-
text
public QueryBuilder text(String search, @Nullable String language)
Equivalent to a $text operand.- Parameters:
search
- the search terms to apply to the text index.language
- the language to use.- Returns:
this
- Since server release
- 2.6
-
not
public QueryBuilder not()
Equivalent to $not meta operator. Must be followed by an operand, not a value, e.g.QueryBuilder.start("val").not().mod(Arrays.asList(10, 1))
- Returns:
this
-
or
public QueryBuilder or(DBObject... ors)
Equivalent to an $or operand- Parameters:
ors
- the list of conditions to or together- Returns:
this
-
and
public QueryBuilder and(DBObject... ands)
Equivalent to an $and operand- Parameters:
ands
- the list of conditions to and together- Returns:
this
-
get
public DBObject get()
Creates aDBObject
query to be used for the driver's find operations- Returns:
this
- Throws:
RuntimeException
- if a key does not have a matching operand
-
-