Filter

object Filter extends AsJava
Companion:
class
trait AsJava
trait AsJavaConverters
class Object
trait Matchable
class Any
Filter.type

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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
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 parameters:
javaScriptExpression

the JavaScript expression

Returns:

the filter

Inherited methods

def asJava[K, V](m: Map[K, V]): ConcurrentMap[K, V]
Inherited from:
AsJavaConverters
def asJava[K, V](m: Map[K, V]): Map[K, V]
Inherited from:
AsJavaConverters
def asJava[K, V](m: Map[K, V]): Map[K, V]
Inherited from:
AsJavaConverters
def asJava[A](s: Set[A]): Set[A]
Inherited from:
AsJavaConverters
def asJava[A](s: Set[A]): Set[A]
Inherited from:
AsJavaConverters
def asJava[A](s: Seq[A]): List[A]
Inherited from:
AsJavaConverters
def asJava[A](s: Seq[A]): List[A]
Inherited from:
AsJavaConverters
def asJava[A](b: Buffer[A]): List[A]
Inherited from:
AsJavaConverters
def asJava[A](i: Iterable[A]): Iterable[A]
Inherited from:
AsJavaConverters
def asJava[A](i: Iterator[A]): Iterator[A]
Inherited from:
AsJavaConverters
def asJavaCollection[A](i: Iterable[A]): Collection[A]
Inherited from:
AsJavaConverters
def asJavaDictionary[K, V](m: Map[K, V]): Dictionary[K, V]
Inherited from:
AsJavaConverters
def asJavaEnumeration[A](i: Iterator[A]): Enumeration[A]
Inherited from:
AsJavaConverters

Concrete fields

A filter that matches all documents.

A filter that matches all documents.

Returns:

the filter

Since:

3.4