Filter

object Filter
Companion
class
class Object
trait Matchable
class Any

Value members

Concrete methods

def all[A](fieldName: String, values: Seq[A]): Filter

Creates a filter that matches all documents where the value of a field is an array that contains all the specified values.

Creates a filter that matches all documents where the value of a field is an array that contains all the specified values.

Value Params
fieldName

the field name

values

the list of values

Returns

the filter

def bitsAllClear(fieldName: String, bitmask: Long): Filter

Creates a filter that matches all documents where all of the bit positions are clear in the field.

Creates a filter that matches all documents where all of the bit positions are clear in the field.

Value Params
bitmask

the bitmask

fieldName

the field name

Returns

the filter

Since

3.2

def bitsAllSet(fieldName: String, bitmask: Long): Filter

Creates a filter that matches all documents where all of the bit positions are set in the field.

Creates a filter that matches all documents where all of the bit positions are set in the field.

Value Params
bitmask

the bitmask

fieldName

the field name

Returns

the filter

Since

3.2

def bitsAnyClear(fieldName: String, bitmask: Long): Filter

Creates a filter that matches all documents where any of the bit positions are clear in the field.

Creates a filter that matches all documents where any of the bit positions are clear in the field.

Value Params
bitmask

the bitmask

fieldName

the field name

Returns

the filter

Since

3.2

def bitsAnySet(fieldName: String, bitmask: Long): Filter

Creates a filter that matches all documents where any of the bit positions are set in the field.

Creates a filter that matches all documents where any of the bit positions are set in the field.

Value Params
bitmask

the bitmask

fieldName

the field name

Returns

the filter

Since

3.2

def elemMatch(fieldName: String, filter: Filter): Filter

Creates a filter that matches all documents containing a field that is an array where at least one member of the array matches the given filter.

Creates a filter that matches all documents containing a field that is an array where at least one member of the array matches the given filter.

Value Params
fieldName

the field name

filter

the filter to apply to each element

Returns

the filter

def eq[A](fieldName: String, value: A): Filter

Creates a filter that matches all documents where the value of the field name equals the specified value. Note that this doesn't actually generate a $eq operator, as the query language doesn't require it.

Creates a filter that matches all documents where the value of the field name equals the specified value. Note that this doesn't actually generate a $eq operator, as the query language doesn't require it.

Value Params
fieldName

the field name

value

the value, which may be null

Returns

the filter

def exists(fieldName: String): Filter

Creates a filter that matches all documents that contain the given field.

Creates a filter that matches all documents that contain the given field.

Value Params
fieldName

the field name

Returns

the filter

def geoIntersects(fieldName: String, geometry: Geometry): Filter

Creates a filter that matches all documents containing a field with geospatial data that intersects with the specified shape.

Creates a filter that matches all documents containing a field with geospatial data that intersects with the specified shape.

Value Params
fieldName

the field name

geometry

the bounding GeoJSON geometry object

Returns

the filter

Since

3.1

def geoIntersects(fieldName: String, geometry: Bson): Filter

Creates a filter that matches all documents containing a field with geospatial data that intersects with the specified shape.

Creates a filter that matches all documents containing a field with geospatial data that intersects with the specified shape.

Value Params
fieldName

the field name

geometry

the bounding GeoJSON geometry object

Returns

the filter

Since

3.1

def geoWithin(fieldName: String, geometry: Geometry): Filter

Creates a filter that matches all documents containing a field with geospatial data that exists entirely within the specified shape.

Creates a filter that matches all documents containing a field with geospatial data that exists entirely within the specified shape.

Value Params
fieldName

the field name

geometry

the bounding GeoJSON geometry object

Returns

the filter

Since

3.1

def geoWithin(fieldName: String, geometry: Bson): Filter

Creates a filter that matches all documents containing a field with geospatial data that exists entirely within the specified shape.

Creates a filter that matches all documents containing a field with geospatial data that exists entirely within the specified shape.

Value Params
fieldName

the field name

geometry

the bounding GeoJSON geometry object

Returns

the filter

Since

3.1

def geoWithinBox(fieldName: String, lowerLeftX: Double, lowerLeftY: Double, upperRightX: Double, upperRightY: Double): Filter

Creates a filter that matches all documents containing a field with grid coordinates data that exist entirely within the specified box.

Creates a filter that matches all documents containing a field with grid coordinates data that exist entirely within the specified box.

Value Params
fieldName

the field name

lowerLeftX

the lower left x coordinate of the box

lowerLeftY

the lower left y coordinate of the box

upperRightX

the upper left x coordinate of the box

upperRightY

the upper left y coordinate of the box

Returns

the filter

Since

3.1

def geoWithinCenter(fieldName: String, x: Double, y: Double, radius: Double): Filter

Creates a filter that matches all documents containing a field with grid coordinates data that exist entirely within the specified circle.

Creates a filter that matches all documents containing a field with grid coordinates data that exist entirely within the specified circle.

Value Params
fieldName

the field name

radius

the radius of the circle, as measured in the units used by the coordinate system

x

the x coordinate of the circle

y

the y coordinate of the circle

Returns

the filter

Since

3.1

def geoWithinCenterSphere(fieldName: String, x: Double, y: Double, radius: Double): Filter

Creates a filter that matches all documents containing a field with geospatial data (GeoJSON or legacy coordinate pairs) that exist entirely within the specified circle, using spherical geometry. If using longitude and latitude, specify longitude first.

Creates a filter that matches all documents containing a field with geospatial data (GeoJSON or legacy coordinate pairs) that exist entirely within the specified circle, using spherical geometry. If using longitude and latitude, specify longitude first.

Value Params
fieldName

the field name

radius

the radius of the circle, in radians

x

the x coordinate of the circle

y

the y coordinate of the circle

Returns

the filter

Since

3.1

def geoWithinPolygon(fieldName: String, points: Seq[Seq[Double]]): Filter

Creates a filter that matches all documents containing a field with grid coordinates data that exist entirely within the specified polygon.

Creates a filter that matches all documents containing a field with grid coordinates data that exist entirely within the specified polygon.

Value Params
fieldName

the field name

points

a list of pairs of x, y coordinates. Any extra dimensions are ignored

Returns

the filter

Since

3.1

def gt[A](fieldName: String, value: A): Filter

Creates a filter that matches all documents where the value of the given field is greater than the specified value.

Creates a filter that matches all documents where the value of the given field is greater than the specified value.

Value Params
fieldName

the field name

value

the value

Returns

the filter

def gte[A](fieldName: String, value: A): Filter

Creates a filter that matches all documents where the value of the given field is greater than or equal to the specified value.

Creates a filter that matches all documents where the value of the given field is greater than or equal to the specified value.

Value Params
fieldName

the field name

value

the value

Returns

the filter

def idEq[A](value: A): Filter

Creates a filter that matches all documents where the value of _id field equals the specified value. Note that this doesn't actually generate a $eq operator, as the query language doesn't require it.

Creates a filter that matches all documents where the value of _id field equals the specified value. Note that this doesn't actually generate a $eq operator, as the query language doesn't require it.

Value Params
value

the value, which may be null

Returns

the filter

Since

3.4

def in[A](fieldName: String, values: Seq[A]): Filter

Creates a filter that matches all documents where the value of a field equals any value in the list of specified values.

Creates a filter that matches all documents where the value of a field equals any value in the list of specified values.

Value Params
fieldName

the field name

values

the list of values

Returns

the filter

def isNull(fieldName: String): Filter

Creates a filter that matches all documents where the value of the provided field is null.

Creates a filter that matches all documents where the value of the provided field is null.

Value Params
fieldName

the field name

Returns

the filter

def jsonSchema(schema: Bson): Filter

Creates a filter that matches all documents that validate against the given JSON schema document.

Creates a filter that matches all documents that validate against the given JSON schema document.

Value Params
schema

the JSON schema to validate against

Returns

the filter

Since

3.6

def lt[A](fieldName: String, value: A): Filter

Creates a filter that matches all documents where the value of the given field is less than the specified value.

Creates a filter that matches all documents where the value of the given field is less than the specified value.

Value Params
fieldName

the field name

value

the value

Returns

the filter

def lte[A](fieldName: String, value: A): Filter

Creates a filter that matches all documents where the value of the given field is less than or equal to the specified value.

Creates a filter that matches all documents where the value of the given field is less than or equal to the specified value.

Value Params
fieldName

the field name

value

the value

Returns

the filter

def mod(fieldName: String, divisor: Long, remainder: Long): Filter

Creates a filter that matches all documents where the value of a field divided by a divisor has the specified remainder (i.e. perform a modulo operation to select documents).

Creates a filter that matches all documents where the value of a field divided by a divisor has the specified remainder (i.e. perform a modulo operation to select documents).

Value Params
divisor

the modulus

fieldName

the field name

remainder

the remainder

Returns

the filter

def ne[A](fieldName: String, value: A): Filter

Creates a filter that matches all documents where the value of the field name does not equal the specified value.

Creates a filter that matches all documents where the value of the field name does not equal the specified value.

Value Params
fieldName

the field name

value

the value, which may be null

Returns

the filter

def near(fieldName: String, geometry: Point, maxDistance: Double, minDistance: Double): Filter

Creates a filter that matches all documents containing a field with geospatial data that is near the specified GeoJSON point.

Creates a filter that matches all documents containing a field with geospatial data that is near the specified GeoJSON point.

Value Params
fieldName

the field name

geometry

the bounding GeoJSON geometry object

maxDistance

the maximum distance from the point, in meters. It may be null.

minDistance

the minimum distance from the point, in meters. It may be null.

Returns

the filter

Since

3.1

def near(fieldName: String, geometry: Bson, maxDistance: Double, minDistance: Double): Filter

Creates a filter that matches all documents containing a field with geospatial data that is near the specified GeoJSON point.

Creates a filter that matches all documents containing a field with geospatial data that is near the specified GeoJSON point.

Value Params
fieldName

the field name

geometry

the bounding GeoJSON geometry object

maxDistance

the maximum distance from the point, in meters. It may be null.

minDistance

the minimum distance from the point, in meters. It may be null.

Returns

the filter

Since

3.1

def near(fieldName: String, x: Double, y: Double, maxDistance: Double, minDistance: Double): Filter

Creates a filter that matches all documents containing a field with geospatial data that is near the specified point.

Creates a filter that matches all documents containing a field with geospatial data that is near the specified point.

Value Params
fieldName

the field name

maxDistance

the maximum distance from the point, in radians. It may be null.

minDistance

the minimum distance from the point, in radians. It may be null.

x

the x coordinate

y

the y coordinate

Returns

the filter

Since

3.1

def nearSphere(fieldName: String, geometry: Point, maxDistance: Double, minDistance: Double): Filter

Creates a filter that matches all documents containing a field with geospatial data that is near the specified GeoJSON point using spherical geometry.

Creates a filter that matches all documents containing a field with geospatial data that is near the specified GeoJSON point using spherical geometry.

Value Params
fieldName

the field name

geometry

the bounding GeoJSON geometry object

maxDistance

the maximum distance from the point, in meters. It may be null.

minDistance

the minimum distance from the point, in meters. It may be null.

Returns

the filter

Since

3.1

def nearSphere(fieldName: String, geometry: Bson, maxDistance: Double, minDistance: Double): Filter

Creates a filter that matches all documents containing a field with geospatial data that is near the specified GeoJSON point using spherical geometry.

Creates a filter that matches all documents containing a field with geospatial data that is near the specified GeoJSON point using spherical geometry.

Value Params
fieldName

the field name

geometry

the bounding GeoJSON geometry object

maxDistance

the maximum distance from the point, in meters. It may be null.

minDistance

the minimum distance from the point, in meters. It may be null.

Returns

the filter

Since

3.1

def nearSphere(fieldName: String, x: Double, y: Double, maxDistance: Double, minDistance: Double): Filter

Creates a filter that matches all documents containing a field with geospatial data that is near the specified point using spherical geometry.

Creates a filter that matches all documents containing a field with geospatial data that is near the specified point using spherical geometry.

Value Params
fieldName

the field name

maxDistance

the maximum distance from the point, in radians. It may be null.

minDistance

the minimum distance from the point, in radians. It may be null.

x

the x coordinate

y

the y coordinate

Returns

the filter

Since

3.1

def nin[A](fieldName: String, values: Seq[A]): Filter

Creates a filter that matches all documents where the value of a field does not equal any of the specified values or does not exist.

Creates a filter that matches all documents where the value of a field does not equal any of the specified values or does not exist.

Value Params
fieldName

the field name

values

the list of values

Returns

the filter

def notExists(fieldName: String): Filter

Creates a filter that matches all documents that do not contain the given field.

Creates a filter that matches all documents that do not contain the given field.

Value Params
fieldName

the field name

Returns

the filter

def regex(fieldName: String, pattern: String): Filter

Creates a filter that matches all documents where the value of the field matches the given regular expression pattern.

Creates a filter that matches all documents where the value of the field matches the given regular expression pattern.

Value Params
fieldName

the field name

pattern

the pattern

Returns

the filter

def regex(fieldName: String, regex: Regex): Filter

Creates a filter that matches all documents where the value of the field matches the given regular expression pattern.

Creates a filter that matches all documents where the value of the field matches the given regular expression pattern.

Value Params
fieldName

the field name

regex

the pattern

Returns

the filter

def size(fieldName: String, size: Int): Filter

Creates a filter that matches all documents where the value of a field is an array of the specified size.

Creates a filter that matches all documents where the value of a field is an array of the specified size.

Value Params
fieldName

the field name

size

the size of the array

Returns

the filter

def text(search: String): Filter

Creates a filter that matches all documents matching the given search term.

Creates a filter that matches all documents matching the given search term.

Value Params
search

the search term

Returns

the filter

def text(search: String, textSearchOptions: TextSearchOptions): Filter

Creates a filter that matches all documents matching the given search term.

Creates a filter that matches all documents matching the given search term.

Value Params
search

the search term

textSearchOptions

the text search options to use

Returns

the filter

def typeIs(fieldName: String, fieldType: BsonType): Filter

Creates a filter that matches all documents where the value of the field is of the specified BSON type.

Creates a filter that matches all documents where the value of the field is of the specified BSON type.

Value Params
fieldName

the field name

fieldType

the BSON type

Returns

the filter

def typeIs(fieldName: String, fieldType: String): Filter

Creates a filter that matches all documents where the value of the field is of the specified BSON type.

Creates a filter that matches all documents where the value of the field is of the specified BSON type.

Value Params
fieldName

the field name

fieldType

the string representation of the BSON type

Returns

the filter

def where(javaScriptExpression: String): Filter

Creates a filter that matches all documents for which the given expression is true.

Creates a filter that matches all documents for which the given expression is true.

Value Params
javaScriptExpression

the JavaScript expression

Returns

the filter

Concrete fields

A filter that matches all documents.

A filter that matches all documents.

Returns

the filter

Since

3.4