Query and Projection Operators

On this page

NOTE

For details on specific operator, including syntax and examples, click on the specific operator to go to its reference page.

Query Selectors

Comparison

For comparison of different BSON type values, see thespecified BSON comparison order.

Name Description
$eq Matches values that are equal to a specified value.
$gt Matches values that are greater than a specified value.
$gte Matches values that are greater than or equal to a specified value.
$in Matches any of the values specified in an array.
$lt Matches values that are less than a specified value.
$lte Matches values that are less than or equal to a specified value.
$ne Matches all values that are not equal to a specified value.
$nin Matches none of the values specified in an array.

Logical

Name Description
$and Joins query clauses with a logicalANDreturns all documents that match the conditions of both clauses.
$not Inverts the effect of a query expression and returns documents that do_not_match the query expression.
$nor Joins query clauses with a logicalNORreturns all documents that fail to match both clauses.
$or Joins query clauses with a logicalORreturns all documents that match the conditions of either clause.

Element

Name Description
$exists Matches documents that have the specified field.
$type Selects documents if a field is of the specified type.

Evaluation

Name Description
$mod Performs a modulo operation on the value of a field and selects documents with a specified result.
$regex Selects documents where values match a specified regular expression.
$text Performs text search.
$where Matches documents that satisfy a JavaScript expression.

Geospatial

Name Description
$geoIntersects Selects geometries that intersect with aGeoJSONgeometry. The2dsphereindex supports$geoIntersects.
$geoWithin Selects geometries within a boundingGeoJSON geometry. The2dsphereand2dindexes support$geoWithin.
$near Returns geospatial objects in proximity to a point. Requires a geospatial index. The2dsphereand2dindexes support$near.
$nearSphere Returns geospatial objects in proximity to a point on a sphere. Requires a geospatial index. The2dsphereand2dindexes support$nearSphere.

Array

Name Description
$all Matches arrays that contain all elements specified in the query.
$elemMatch Selects documents if element in the array field matches all the specified$elemMatchconditions.
$size Selects documents if the array field is a specified size.

Bitwise

Name Description
$bitsAllClear Matches numeric or binary values in which a set of bit positions_all_have a value of0.
$bitsAllSet Matches numeric or binary values in which a set of bit positions_all_have a value of1.
$bitsAnyClear Matches numeric or binary values in which_any_bit from a set of bit positions has a value of0.
$bitsAnySet Matches numeric or binary values in which_any_bit from a set of bit positions has a value of1.

Comments

Name Description
$comment Adds a comment to a query predicate.

Projection Operators

Name Description
$ Projects the first element in an array that matches the query condition.
$elemMatch Projects the first element in an array that matches the specified$elemMatchcondition.
$meta Projects the document’s score assigned during$textoperation.
$slice Limits the number of elements projected from an array. Supports skip and limit slices.

Additional Resources