For the complete documentation index, see llms.txt. This page is also available as Markdown.

Query Operators

Query operators can be used to construct query conditions in order to find data. Query operators are typically applied to a property and take a value or a document defining the conditions of the operation.

For example:

{<property>: {<operator>: value}}

Or:

{<property>: {<operator>: {<option>: <value>, <option>: value, ...}}}

Or, in the case of logical operators (e.g. $and, $or), the operator takes an array of expressions:

{<operator>: [{<expression>}, {<expression>}, ...]}

Usage

Query operators can be used in a where query argument or in a $match pipeline stage .

When used in a where query argument, the request looks similar to the following:

GET /<object>?where={<query conditions>}

When used in a $match pipeline stage, the request looks similar to the following:

GET /<object>?pipeline=[{"$match":{<query conditions>}}]

Query Operator Types

Type

Description

Comparison Operators

For filtering results based on value comparisons.

Logical Operators

Join query clauses together or invert the meaning of a query expression

Evaluation Operators

Filter results based on the result of a regular expression

Geospatial Operators

Find locations within a distance of a central location.

Array Operators

Match on arrays, elements in an array, or size of arrays.

Comparison Operators

Operator

Description

Example

$eq

Selects documents where the value of the property is equal to the passed in value.

{“c_bpm”: {“$eq”: 70}}

$gt

Selects documents where the value of the property is greater than the passed in value.

{“c_bpm”: {“$gt”: 70}}

$gte

Selects documents where the value of the property is greater than or equal to the passed in value.

{“c_bpm”: {“$gte”: 70}}

$lt

Selects documents where the value of the property is lesser than the passed in value.

{“c_bpm”: {“$lt”: 70}}

$lte

Selects documents where the value of the property is lesser than or equal to the passed in value.

{“c_bpm”: {“$lte”: 70}}

$ne

Selects documents where the value of the property is not equal to the passed in value.

{“c_bpm”: {“$ne”: 70}}

$in

Selects documents where the property matches any of the passed in values.

{“c_bpm”: {“$in”: [65, 66, 67, 68, 69, 70]}}

$nin

Selects documents where the property matches none of the passed in values.

{“c_bpm”: {“$nin”: [65, 66, 67, 68, 69, 70]}}

Logical Operators

Operator

Description

Example

$and

Selects documents where all passed in conditions are met.

{“$and”: [{“c_bpm”: {“$gt”: 70}}, {“c_bpm”: {“$lt”: 100}}] }

$or

Selects documents where any passed in conditions are met.

{“$or”: [{“c_bpm”: {“$gt”: 70}}, {“c_bmi”: {“$gt”: 24.9}}] }

$not

Evaluates to true if the property or expression evaluates to false.

{“$not”: “c_active”}

$nor

Selects documents where none of the passed in conditions are met.

{“$nor”: [{“c_bpm”: {“$gt”: 70}}, {“c_bmi”: {“$gt”: 24.9}}] }

Evaluation Operators

Operator

Description

Example

$regex

Selects documents where the string property matches the passed in regular expression.

{“name.first”: {“$regex”: “/^samplename/i”}}

Geospatial Operators

Operator

Description

Example

$within

Selects documents with geospatial data that exists entirely within a specified shape.

{"c_location": {"$within": {"$center": [-122.143019, 37.441883], "$radius": 10}}}

Array Operators

Operator

Description

Example

$all

Selects documents where the array property contains all of the passed in values.

{“roles”: {“$all”: [“000000000000000000000007”, “0123456789ab0123456789ab”]}}

$elemMatch

Selects documents where all properties of an array of document properties match the passed in expression. $elemMatch does not limit the results within the array, but filters the entire document for contained entries.

{“c_docs”: {“$elemMatch”: {“c_foo”: “yes”, “c_bar”: true}}}

$size

Selects documents where the size of the array property matches the passed in values.

{“c_arr”: {“$size”: 20}}

Last updated

Was this helpful?