Query and Projection Operators
Note
For details on a specific operator, including syntax and examples, click on the link to the operator's reference page.
Compatibility
You can use query and projection operators for deployments hosted in the following environments:
MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
MongoDB Enterprise: The subscription-based, self-managed version of MongoDB
MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB
Query Selectors
Comparison
For comparison of different BSON type values, see the specified BSON comparison order.
Name | Description |
---|---|
Matches values that are equal to a specified value. | |
Matches values that are greater than a specified value. | |
Matches values that are greater than or equal to a specified value. | |
Matches any of the values specified in an array. | |
Matches values that are less than a specified value. | |
Matches values that are less than or equal to a specified value. | |
Matches all values that are not equal to a specified value. | |
Matches none of the values specified in an array. |
Logical
Name | Description |
---|---|
Joins query clauses with a logical AND returns all documents that match the conditions of both clauses. | |
Inverts the effect of a query expression and returns documents that do not match the query expression. | |
Joins query clauses with a logical NOR returns all documents that fail to match both clauses. | |
Joins query clauses with a logical OR returns all documents that match the conditions of either clause. |
Element
Evaluation
Name | Description |
---|---|
Allows use of aggregation expressions within the query language. | |
Validate documents against the given JSON Schema. | |
Performs a modulo operation on the value of a field and selects documents with a specified result. | |
Selects documents where values match a specified regular expression. | |
Performs text search. Note
| |
Matches documents that satisfy a JavaScript expression. |
Geospatial
Name | Description |
---|---|
Selects geometries that intersect with a GeoJSON geometry.
The 2dsphere index supports
$geoIntersects . | |
Selects geometries within a bounding GeoJSON geometry. The 2dsphere and 2d indexes support
$geoWithin . | |
Returns geospatial objects in proximity to a point on a sphere.
Requires a geospatial index. The 2dsphere and 2d indexes support
$nearSphere . |
Array
Name | Description |
---|---|
Matches arrays that contain all elements specified in the query. | |
Selects documents if element in the array field matches all the specified $elemMatch conditions. | |
Selects documents if the array field is a specified size. |
Bitwise
Name | Description |
---|---|
Matches numeric or binary values in which a set of bit positions all have a value of 0 . | |
Matches numeric or binary values in which a set of bit positions all have a value of 1 . | |
Matches numeric or binary values in which any bit from a set of bit positions has a value of 0 . | |
Matches numeric or binary values in which any bit from a set of bit positions has a value of 1 . |
Projection Operators
Name | Description |
---|---|
Projects the first element in an array that matches the query condition. | |
Projects the first element in an array that matches the specified $elemMatch condition. | |
Projects the document's score assigned during the Note
| |
Limits the number of elements projected from an array. Supports skip and limit slices. |