Skip to content

ArrayFiltersOptionDsl

Types

IteratorType

interface IteratorType<Document>

Special type used by the WithArrayFilters.arrayFilter lambda parameter to designate the current array filter.

Properties

any

context

The context used to generate this expression.

field

Converts a Kotlin property into a Field.

Functions

accept

@LowLevelApi
@DangerousMongoApi
abstract override fun accept(node: BsonNode)

Adds a new node as a child of this one.

acceptAll

Adds any number of nodes into this one.

and

Performs a logical AND operation on one or more expressions, and selects the documents that satisfy all the expressions.

any

Specify multiple operators on fields of a single array element.

Specify multiple operators on fields of a single array element.

anyValue

Specify multiple operators on a single array element.

Specify multiple operators on a single array element.

Specify multiple operators on a single array element.

bitsAllClear

Matches documents where all bit positions present in mask are clear (i.e., 0) in the current field.

Matches documents where all bit positions present in mask are clear (i.e., 0) in the current field.

Matches documents where all bit positions present in mask are clear (i.e., 0) in the current field.

Matches documents where all bit positions present in mask are clear (i.e., 0) in the current field.

bitsAllSet

Matches documents where all bit positions present in mask are set (i.e., 1) in the current field.

Matches documents where all bit positions present in mask are set (i.e., 1) in the current field.

Matches documents where all bit positions present in mask are set (i.e., 1) in the current field.

Matches documents where all bit positions present in mask are set (i.e., 1) in the current field.

bitsAnyClear

Matches documents where any bit position present in mask is clear (i.e., 0) in the current field.

Matches documents where any bit position present in mask is clear (i.e., 0) in the current field.

Matches documents where any bit position present in mask is clear (i.e., 0) in the current field.

Matches documents where any bit position present in mask is clear (i.e., 0) in the current field.

bitsAnySet

Matches documents where any bit position present in mask is set (i.e., 1) in the current field.

Matches documents where any bit position present in mask is set (i.e., 1) in the current field.

Matches documents where any bit position present in mask is set (i.e., 1) in the current field.

Matches documents where any bit position present in mask is set (i.e., 1) in the current field.

containsAll

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

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

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

div

open operator fun <Root, Parent, Child> KProperty1<Root, Parent>.div(child: KProperty1<Parent & Any, Child>): Field<Root, Child>

Refers to child as a nested field of the current field.

open operator fun <Root, Type, Child> Field<Root, Type>.div(child: KProperty1<in Type & Any, Child>): Field<Root, Child>

Refers to child as a nested field of the current field.

open operator fun <Root, Type, Child> Field<Root, Type>.div(child: Field<Type, Child>): Field<Root, Child>

Refers to child as a nested field of the current field.

Combines Kotlin properties into a path usable to point to any item in an array.

Combines Kotlin properties into a path usable to point to any item in an array.

Combines Kotlin properties into a path usable to point to any item in an array.

Combines Kotlin properties into a path usable to point to any item in an array.

doesNotExist

Matches documents that do not contain the specified field. Documents where the field if null are not matched.

Matches documents that do not contain the specified field. Documents where the field if null are not matched.

eq

infix inline fun <V> KProperty1<ArrayFiltersOptionDsl.IteratorType<Document>, V>.eq(value: V)

Matches documents where the value of a field equals the value.

infix inline fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.eq(value: V)

Matches documents where the value of a field equals the value.

open fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.eq(value: V, type: KType)

Matches documents where the value of a field equals the value.

eqNotNull

Matches documents where the value of a field equals value.

Matches documents where the value of a field equals value.

Matches documents where the value of a field equals value.

exists

Matches documents that contain the specified field, including values where the field value is null.

Matches documents that contain the specified field, including values where the field value is null.

expr

Enables the usage of aggregation values within a regular query.

freeze

@LowLevelApi
abstract override fun freeze()

Makes this expression immutable.

geoIntersects

Matches documents whose geospatial data intersects with the given geometry.

Matches documents whose geospatial data intersects with the given geometry.

Matches documents whose geospatial data intersects with the given polygon.

Matches documents whose geospatial data intersects with the given polygon.

geoWithin

Matches documents where a Geo.Point is within the given polygons.

Matches documents where a Geo.Point is within the given polygons.

Matches documents where a Geo.Point is within the given polygon.

Matches documents where a Geo.Point is within the given polygon.

get

open operator fun <Root, Type> KProperty1<Root, Collection<Type>>.get(index: Int): Field<Root, Type>

Refers to a specific item in an array, by its index.

open operator fun <Root, Type> KProperty1<Root, Map<String, Type>>.get(index: String): Field<Root, Type>

Refers to a specific item in a map, by its name.

open operator fun <Root, Type> Field<Root, Collection<Type>>.get(index: Int): Field<Root, Type>

Refers to a specific item in an array, by its index.

open operator fun <Root, Type> Field<Root, Map<String, Type>>.get(key: String): Field<Root, Type>

Refers to a specific item in a map, by its name.

gt

infix inline fun <V> KProperty1<ArrayFiltersOptionDsl.IteratorType<Document>, V>.gt(value: V)

Selects documents for which this field has a value strictly greater than value.

infix inline fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.gt(value: V)

Selects documents for which this field has a value strictly greater than value.

open fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.gt(value: V, type: KType)

Selects documents for which this field has a value strictly greater than value.

gte

Selects documents for which this field has a value greater or equal to value.

infix inline fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.gte(value: V)

Selects documents for which this field has a value greater or equal to value.

Selects documents for which this field has a value greater or equal to value.

gteNotNull

Selects documents for which this field has a value greater or equal to value.

Selects documents for which this field has a value greater or equal to value.

Selects documents for which this field has a value greater or equal to value.

gtNotNull

Selects documents for which this field has a value strictly greater than value.

Selects documents for which this field has a value strictly greater than value.

Selects documents for which this field has a value strictly greater than value.

hasType

Selects documents where the value of the field is an instance of the specified BSON type.

Selects documents where the value of the field is an instance of the specified BSON type.

invoke

inline operator fun <V> KProperty1<ArrayFiltersOptionDsl.IteratorType<Document>, V>.invoke(noinline block: FilterQueryPredicate<V>.() -> Unit)

Targets a single field to execute a targeted predicate.

inline operator fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.invoke(noinline block: FilterQueryPredicate<V>.() -> Unit)

Targets a single field to execute a targeted predicate.

Targets a single field to execute a targeted predicate.

isEmpty

Matches documents in which an array is empty or absent.

Matches documents in which an array is empty or absent.

isIn

@JvmName(name = "isInSimple")
infix inline fun <V : Comparable<V>, R : ClosedRange<V>, OpenEndRange<V>> KProperty1<ArrayFiltersOptionDsl.IteratorType<Document>, V?>.isIn(range: R)

Selects documents in which this field has a value included in range.

Selects documents in which this field has a value included in range.

Selects documents in which this field has a value included in range.

@JvmName(name = "isInSimple")
infix inline fun <V : Comparable<V>, R : ClosedRange<V>, OpenEndRange<V>> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V?>.isIn(range: R)

Selects documents in which this field has a value included in range.

Selects documents in which this field has a value included in range.

Selects documents in which this field has a value included in range.

@JvmName(name = "isInSimpleWithType")
open fun <V : Comparable<V>, R : ClosedRange<V>, OpenEndRange<V>> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V?>.isIn(range: R, type: KType)

Selects documents in which this field has a value included in range.

Selects documents in which this field has a value included in range.

Selects documents in which this field has a value included in range.

isMapEmpty

Matches documents in which a map is empty or absent.

Matches documents in which a map is empty or absent.

isMapNotEmpty

Matches documents in which a map is not empty.

Matches documents in which a map is not empty.

isNotEmpty

Matches documents in which an array is not empty.

Matches documents in which an array is not empty.

isNotNull

Selects documents for which the field is not null.

Selects documents for which the field is not null.

isNotOneOf

Selects documents for which this field is not equal to any of the given values.

Selects documents for which this field is not equal to any of the given values.

Selects documents for which this field is not equal to any of the given values.

inline fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.isNotOneOf(vararg values: V)

Selects documents for which this field is not equal to any of the given values.

Selects documents for which this field is not equal to any of the given values.

isNotUndefined

Selects documents for which the field is not undefined.

Selects documents for which the field is not undefined.

isNull

Selects documents for which the field is null.

Selects documents for which the field is null.

isOneOf

Selects documents for which this field is equal to one of the given values.

Selects documents for which this field is equal to one of the given values.

infix inline fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.isOneOf(values: List<V>)

Selects documents for which this field is equal to one of the given values.

inline fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.isOneOf(vararg values: V)

Selects documents for which this field is equal to one of the given values.

Selects documents for which this field is equal to one of the given values.

isUndefined

Selects documents for which the field is undefined.

Selects documents for which the field is undefined.

lt

infix inline fun <V> KProperty1<ArrayFiltersOptionDsl.IteratorType<Document>, V>.lt(value: V)

Selects documents for which this field has a value strictly lesser than value.

infix inline fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.lt(value: V)

Selects documents for which this field has a value strictly lesser than value.

open fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.lt(value: V, type: KType)

Selects documents for which this field has a value strictly lesser than value.

lte

Selects documents for which this field has a value lesser or equal to value.

infix inline fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.lte(value: V)

Selects documents for which this field has a value lesser or equal to value.

Selects documents for which this field has a value lesser or equal to value.

lteNotNull

Selects documents for which this field has a value lesser or equal to value.

Selects documents for which this field has a value lesser or equal to value.

Selects documents for which this field has a value lesser or equal to value.

ltNotNull

Selects documents for which this field has a value strictly lesser than value.

Selects documents for which this field has a value strictly lesser than value.

Selects documents for which this field has a value strictly lesser than value.

mod

Selects documents where the value of the field divided by divisor has the specified remainder.

Selects documents where the value of the field divided by divisor has the specified remainder.

open fun Field<ArrayFiltersOptionDsl.IteratorType<Document>, Number>.mod(divisor: Int, remainder: Int)

Selects documents where the value of the field divided by divisor has the specified remainder.

Selects documents where the value of the field divided by divisor has the specified remainder.

ne

infix inline fun <V> KProperty1<ArrayFiltersOptionDsl.IteratorType<Document>, V>.ne(value: V)

Matches documents where the value of a field does not equal the value.

infix inline fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.ne(value: V)

Matches documents where the value of a field does not equal the value.

open fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.ne(value: V, type: KType)

Matches documents where the value of a field does not equal the value.

near

open fun KProperty1<ArrayFiltersOptionDsl.IteratorType<Document>, Geo.Point>.near(
    target: Geo.Point, 
    minDistance: Double? = null, 
    maxDistance: Double? = null
)

Matches documents where a Geo.Point is near the target.

abstract fun Field<ArrayFiltersOptionDsl.IteratorType<Document>, Geo.Point>.near(
    target: Geo.Point, 
    minDistance: Double? = null, 
    maxDistance: Double? = null
)

Matches documents where a Geo.Point is near the target.

nearSphere

open fun KProperty1<ArrayFiltersOptionDsl.IteratorType<Document>, Geo.Point>.nearSphere(
    target: Geo.Point, 
    minDistance: Double? = null, 
    maxDistance: Double? = null
)

Matches documents where a Geo.Point is near the target, using spherical geometry.

abstract fun Field<ArrayFiltersOptionDsl.IteratorType<Document>, Geo.Point>.nearSphere(
    target: Geo.Point, 
    minDistance: Double? = null, 
    maxDistance: Double? = null
)

Matches documents where a Geo.Point is near the target, using spherical geometry.

nor

Performs a logical NOR operation on one or more expressions, and selects the documents that do not satisfy any of the expressions.

not

infix inline fun <V> KProperty1<ArrayFiltersOptionDsl.IteratorType<Document>, V>.not(noinline expression: FilterQueryPredicate<V>.() -> Unit)

Performs a logical NOT operation on the specified expression and selects the documents that do not match the expression. This includes the elements that do not contain the field.

infix inline fun <V> Field<ArrayFiltersOptionDsl.IteratorType<Document>, V>.not(noinline expression: FilterQueryPredicate<V>.() -> Unit)

Performs a logical NOT operation on the specified expression and selects the documents that do not match the expression. This includes the elements that do not contain the field.

Performs a logical NOT operation on the specified expression and selects the documents that do not match the expression. This includes the elements that do not contain the field.

or

Performs a logical OR operation on one or more expressions, and selects the documents that satisfy at least one of the expressions.

regex

open fun KProperty1<ArrayFiltersOptionDsl.IteratorType<Document>, String?>.regex(
    @Language(value = "JSRegexp") pattern: String, 
    caseInsensitive: Boolean = false, 
    dotAll: Boolean = false, 
    extended: Boolean = false, 
    matchEachLine: Boolean = false
)

Matches documents where the field corresponds to a given regex expression.

open fun Field<ArrayFiltersOptionDsl.IteratorType<Document>, String?>.regex(
    @Language(value = "JSRegexp") pattern: String, 
    caseInsensitive: Boolean = false, 
    dotAll: Boolean = false, 
    extended: Boolean = false, 
    matchEachLine: Boolean = false
)

Matches documents where the field corresponds to a given regex expression.

simplify

@LowLevelApi
abstract fun simplify(): BsonNode?

Returns a simplified (but equivalent) expression to the current expression.

size

Selects documents where the value of a field is an array of size size (exactly).

Selects documents where the value of a field is an array of size size (exactly).

toBson

Writes the result of simplifying to a new BsonDocument.

toString

abstract override fun toString(): String

JSON representation of this expression.

unsafe

open infix fun <Root, Child> KProperty1<Root, *>.unsafe(child: String): Field<Root, Child>

Refers to a field child of the current field, with no compile-time safety.

open infix fun <Root, Child> KProperty1<Root, *>.unsafe(child: KProperty1<*, Child>): Field<Root, Child>

Refers to a field child of the current field, without checking that it is a field available on the current object.

open infix fun <Root, Child> KProperty1<Root, *>.unsafe(child: Field<*, Child>): Field<Root, Child>

Refers to a field child of the current field, without checking that it is a field available on the current object.

open infix fun <Root, Child> Field<Root, *>.unsafe(child: KProperty1<*, Child>): Field<Root, Child>

Refers to a field child of the current field, without checking that it is a field available on the current object.

open infix fun <Root, Child> Field<Root, *>.unsafe(child: Field<*, Child>): Field<Root, Child>

Refers to a field child of the current field, without checking that it is a field available on the current object.

open infix fun <Root, Type, Child> Field<Root, Type>.unsafe(child: String): Field<Root, Child>

Refers to a field child of the current field, with no compile-time safety.

writeTo

@LowLevelApi
abstract override fun writeTo(writer: BsonFieldWriter)

Writes the result of simplifying this expression into writer.