Skip to content

MongoDB request DSLopensavvy.ktmongo.dsl.aggregation.stagesProjectStageOperators

ProjectStageOperators

Properties

context

abstract val context: 

The context used to generate this expression.

field

Converts a Kotlin property into a Field.

isArray

open val <R : Any> Value<R, *>.isArray: Value<R, Boolean>

Determines if this value is an array.

isNumber

open val <R : Any> Value<R, *>.isNumber: Value<R, Boolean>

Determines if this value is a number.

length

Returns the number of code points in the specified string.

lengthUTF8

Returns the number of UTF-8 encoded bytes in the specified string.

type

open val <R : Any> Value<R, *>.type: Value<R, >

Gets the BsonType of the current value.

Functions

abs

open fun <Context : Any, Result : Number?> abs(value: Value<Context, Result>): Value<Context, Result>

The absolute value of a number.

accept

abstract override fun accept(node: BsonNode)

Adds a new node as a child of this one.

acceptAll

fun <N : Node> CompoundNode<N>.acceptAll(nodes: Iterable<N>)

Adds any number of nodes into this one.

acos

open fun <Context : Any> acos(value: Value<Context, Double?>): Value<Context, Double?>

The inverse cosine (arc cosine) of a value, in radians.

acosh

open fun <Context : Any> acosh(value: Value<Context, Double?>): Value<Context, Double?>

The inverse hyperbolic cosine (hyperbolic arc cosine) of a value, in radians.

asin

open fun <Context : Any> asin(value: Value<Context, Double?>): Value<Context, Double?>

The inverse sine (arc sine) of a value, in radians.

asinh

open fun <Context : Any> asinh(value: Value<Context, Double?>): Value<Context, Double?>

The inverse hyperbolic sine (hyperbolic arc sine) of a value, in radians.

atan

open fun <Context : Any> atan(value: Value<Context, Double?>): Value<Context, Double?>

The inverse tangent (arc tangent) of a value, in radians.

atanh

open fun <Context : Any> atanh(value: Value<Context, Double?>): Value<Context, Double?>

The inverse hyperbolic tangent (hyperbolic arc tangent) of a value, in radians.

ceil

open fun <Context : Any, Result : Number?> ceil(value: Value<Context, Result>): Value<Context, Result>

The smallest integer greater than or equal to the specified value.

concat

open infix fun <Context : Any> Value<Context, String>.concat(other: Value<Context, String>): Value<Context, String>

Concatenates two strings together.

cond

open fun <R : Any, T> cond(condition: Value<R, Boolean>, ifTrue: Value<R, T>, ifFalse: Value<R, T>): Value<R, T>

Decides between two values depending on the evaluation of a boolean value.

cos

open fun <Context : Any> cos(value: Value<Context, Double?>): Value<Context, Double?>

The cosine of a value that is measured in radians.

cosh

open fun <Context : Any> cosh(value: Value<Context, Double?>): Value<Context, Double?>

The hyperbolic cosine of a value that is measured in radians.

div

open operator fun <Context : Any, Result> Value<Context, Result>.div(other: Value<Context, Result>): Value<Context, Result>

Divides one aggregation value by another.

open operator fun <Context : Any, Root, Child> Value<Context, Root>.div(field: KProperty1<Root, Child>): Value<Context, Child>

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

open operator fun <Context : Any, Root, Child> Value<Context, Root>.div(field: Field<Root, Child>): Value<Context, Child>

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

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.

eq

open infix fun <Context : Any, Result> Value<Context, Result>.eq(other: Value<Context, Result>): Value<Context, Boolean>

Compares two aggregation values and returns true if they are equivalent.

excludeId

abstract fun excludeId()

Excludes the _id field.

filter

open fun <Context : Any, T> Collection<T>.filter(limit: Value<Context, Number>? = null, variableName: String = "this", predicate: AggregationOperators.(Value<Any, T>) -> Value<T & Any, Boolean>): Value<Context, List<T>>

Selects a subset of an array to return based on the specified predicate, similarly to kotlin.collections.filter.

open fun <Context : Any, T> KProperty1<Context, Collection<T>>.filter(limit: Value<Context, Number>? = null, variableName: String = "this", predicate: AggregationOperators.(Value<Any, T>) -> Value<T & Any, Boolean>): Value<Context, List<T>>

Selects a subset of an array to return based on the specified predicate, similarly to kotlin.collections.filter.

open fun <Context : Any, T> Value<Context, Collection<T>>.filter(limit: Value<Context, Number>? = null, variableName: String = "this", predicate: AggregationOperators.(Value<Any, T>) -> Value<T & Any, Boolean>): Value<Context, List<T>>

Selects a subset of an array to return based on the specified predicate, similarly to kotlin.collections.filter.

open fun <Context : Any, T> Field<Context, Collection<T>>.filter(limit: Value<Context, Number>? = null, variableName: String = "this", predicate: AggregationOperators.(Value<Any, T>) -> Value<T & Any, Boolean>): Value<Context, List<T>>

Selects a subset of an array to return based on the specified predicate, similarly to kotlin.collections.filter.

floor

open fun <Context : Any, Result : Number?> floor(value: Value<Context, Result>): Value<Context, Result>

The largest integer less than or equal to the specified value.

freeze

abstract override fun freeze()

Makes this expression immutable.

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.

gt

open infix fun <Context : Any, Result> Value<Context, Result>.gt(other: Value<Context, Result>): Value<Context, Boolean>

gte

include

open fun include(field: KProperty1<Document, *>)

Explicitly includes field.

abstract fun include(field: Field<Document, *>)

Explicitly includes field.

lowercase

Converts a string to lowercase, returning the result.

lt

open infix fun <Context : Any, Result> Value<Context, Result>.lt(other: Value<Context, Result>): Value<Context, Boolean>

lte

map

open fun <Context : Any, T, R> Collection<T>.map(variableName: String = "this", transform: AggregationOperators.(Value<Any, T>) -> Value<Context, R>): Value<Context, List<R>>

Applies a transform to all elements in an array and returns the array with the applied results, similar to kotlin.collections.map.

open fun <Context : Any, T, R> KProperty1<Context, Collection<T>>.map(variableName: String = "this", transform: AggregationOperators.(Value<Any, T>) -> Value<Context, R>): Value<Context, List<R>>

Applies a transform to all elements in an array and returns the array with the applied results, similar to kotlin.collections.map.

open fun <Context : Any, T, R> Value<Context, Collection<T>>.map(variableName: String = "this", transform: AggregationOperators.(Value<Any, T>) -> Value<Context, R>): Value<Context, List<R>>

Applies a transform to all elements in an array and returns the array with the applied results, similar to kotlin.collections.map.

open fun <Context : Any, T, R> Field<Context, Collection<T>>.map(variableName: String = "this", transform: AggregationOperators.(Value<Any, T>) -> Value<Context, R>): Value<Context, List<R>>

Applies a transform to all elements in an array and returns the array with the applied results, similar to kotlin.collections.map.

minus

open operator fun <Context : Any, Result> Value<Context, Result>.minus(other: Value<Context, Result>): Value<Context, Result>

Subtracts one aggregation value from another.

ne

open infix fun <Context : Any, Result> Value<Context, Result>.ne(other: Value<Context, Result>): Value<Context, Boolean>

Compares two aggregation values and returns true if they are not equivalent.

of

open fun <Result> of(value: Result): Value<Any, Result>

Refers to a Kotlin value within an aggregation value.

open fun of(value: ): Value<Any, >

Refers to a BsonType within an aggregation value.

Refers to a field within an aggregation value.

open fun <Context : Any, Result> of(field: Field<Context, Result>): Value<Context, Result>

Refers to a field within an aggregation value.

plus

open operator fun <Context : Any, Result> Value<Context, Result>.plus(other: Value<Context, Result>): Value<Context, Result>

Sums two aggregation values.

replace

open fun <Context : Any> Value<Context, String?>.replace(find: String, replacement: String): Value<Context, String?>

Replaces all instances of find with a replacement string.

open fun <Context : Any> Value<Context, String?>.replace(find: Value<Context, String?>, replacement: Value<Context, String?>): Value<Context, String?>

Replaces all instances of find with a replacement string.

replaceFirst

open fun <Context : Any> Value<Context, String?>.replaceFirst(find: String, replacement: String): Value<Context, String?>

Replaces the first instance of find with a replacement string.

open fun <Context : Any> Value<Context, String?>.replaceFirst(find: Value<Context, String?>, replacement: Value<Context, String?>): Value<Context, String?>

Replaces the first instance of find with a replacement string.

set

open infix fun <V> KProperty1<Document, V>.set(value: V)

Replaces the value of a field with the specified value.

open infix fun <V> KProperty1<Document, V>.set(value: Value<Document, V>)

Replaces the value of a field with the specified value.

open infix fun <V> Field<Document, V>.set(value: V)

Replaces the value of a field with the specified value.

abstract infix fun <V> Field<Document, V>.set(value: Value<Document, V>)

Replaces the value of a field with the specified value.

setIf

open fun <V> KProperty1<Document, V>.setIf(condition: Boolean, value: V)

Replaces the value of a field with the specified value, if condition is true.

open fun <V> KProperty1<Document, V>.setIf(condition: Boolean, value: Value<Document, V>)

Replaces the value of a field with the specified value, if condition is true.

open fun <V> KProperty1<Document, V>.setIf(condition: Value<Document, Boolean>, value: V)

Replaces the value of a field with the specified value, if condition is true.

open fun <V> KProperty1<Document, V>.setIf(condition: Value<Document, Boolean>, value: Value<Document, V>)

Replaces the value of a field with the specified value, if condition is true.

open fun <V> Field<Document, V>.setIf(condition: Boolean, value: V)

Replaces the value of a field with the specified value, if condition is true.

open fun <V> Field<Document, V>.setIf(condition: Boolean, value: Value<Document, V>)

Replaces the value of a field with the specified value, if condition is true.

open fun <V> Field<Document, V>.setIf(condition: Value<Document, Boolean>, value: V)

Replaces the value of a field with the specified value, if condition is true.

open fun <V> Field<Document, V>.setIf(condition: Value<Document, Boolean>, value: Value<Document, V>)

Replaces the value of a field with the specified value, if condition is true.

setUnless

open fun <V> KProperty1<Document, V>.setUnless(condition: Boolean, value: V)

Replaces the value of a field with the specified value, if condition is false.

open fun <V> KProperty1<Document, V>.setUnless(condition: Boolean, value: Value<Document, V>)

Replaces the value of a field with the specified value, if condition is false.

open fun <V> KProperty1<Document, V>.setUnless(condition: Value<Document, Boolean>, value: V)

Replaces the value of a field with the specified value, if condition is false.

open fun <V> KProperty1<Document, V>.setUnless(condition: Value<Document, Boolean>, value: Value<Document, V>)

Replaces the value of a field with the specified value, if condition is false.

open fun <V> Field<Document, V>.setUnless(condition: Boolean, value: V)

Replaces the value of a field with the specified value, if condition is false.

open fun <V> Field<Document, V>.setUnless(condition: Boolean, value: Value<Document, V>)

Replaces the value of a field with the specified value, if condition is false.

open fun <V> Field<Document, V>.setUnless(condition: Value<Document, Boolean>, value: V)

Replaces the value of a field with the specified value, if condition is false.

open fun <V> Field<Document, V>.setUnless(condition: Value<Document, Boolean>, value: Value<Document, V>)

Replaces the value of a field with the specified value, if condition is false.

simplify

abstract fun simplify(): BsonNode?

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

sin

open fun <Context : Any> sin(value: Value<Context, Double?>): Value<Context, Double?>

The sine of a value that is measured in radians.

sinh

open fun <Context : Any> sinh(value: Value<Context, Double?>): Value<Context, Double?>

The hyperbolic sine of a value that is measured in radians.

sorted

open fun <Context : Any, T> Collection<T>.sorted(): Value<Context, List<T>>

Sorts an array based on its elements, in ascending order.

Sorts an array based on its elements, in ascending order.

Sorts an array based on its elements, in ascending order.

Sorts an array based on its elements, in ascending order.

sortedBy

open fun <Context : Any, T> Collection<T>.sortedBy(order: SortOptionDsl<T & Any>.() -> Unit): Value<Context, List<T>>

Sorts an array based on fields of its elements.

Sorts an array based on fields of its elements.

open fun <Context : Any, T> Value<Context, Collection<T>>.sortedBy(order: SortOptionDsl<T & Any>.() -> Unit): Value<Context, List<T>>

Sorts an array based on fields of its elements.

open fun <Context : Any, T> Field<Context, Collection<T>>.sortedBy(order: SortOptionDsl<T & Any>.() -> Unit): Value<Context, List<T>>

Sorts an array based on fields of its elements.

sortedDescending

Sorts an array based on its elements, in descending order.

Sorts an array based on its elements, in descending order.

Sorts an array based on its elements, in descending order.

Sorts an array based on its elements, in descending order.

split

open fun <Context : Any> Value<Context, String>.split(delimiter: String): Value<Context, List<String>?>

Divides a string into an array of substrings based on a delimiter.

Divides a string into an array of substrings based on a delimiter.

substring

Returns the substring of a string.

open fun <Context : Any> Value<Context, String?>.substring(startIndex: Value<Context, Int>, length: Value<Context, Int>): Value<Context, String?>

Returns the substring of a string.

substringUTF8

Returns the substring of a string.

open fun <Context : Any> Value<Context, String?>.substringUTF8(startIndex: Value<Context, Int>, byteCount: Value<Context, Int>): Value<Context, String?>

Returns the substring of a string.

switch

open fun <R : Any, T> switch(vararg cases: <Value<R, Boolean>, Value<R, T>>, default: Value<R, T>? = null): Value<R, T>

Selects one value based on multiple conditions.

take

open fun <Context : Any, T> Collection<T>.take(limit: Value<Context, Number>): Value<Context, List<T>>

Returns the first limit elements in an array, similar to kotlin.collections.take.

Returns the first limit elements in an array, similar to kotlin.collections.take.

Returns the first limit elements in an array, similar to kotlin.collections.take.

Returns the first limit elements in an array, similar to kotlin.collections.take.

takeLast

Returns the last limit elements in an array, similar to kotlin.collections.takeLast.

Returns the last limit elements in an array, similar to kotlin.collections.takeLast.

Returns the last limit elements in an array, similar to kotlin.collections.takeLast.

Returns the last limit elements in an array, similar to kotlin.collections.takeLast.

tan

open fun <Context : Any> tan(value: Value<Context, Double?>): Value<Context, Double?>

The tangent of a value that is measured in radians.

tanh

open fun <Context : Any> tanh(value: Value<Context, Double?>): Value<Context, Double?>

The hyperbolic tangent of a value that is measured in radians.

times

open operator fun <Context : Any, Result> Value<Context, Result>.times(other: Value<Context, Result>): Value<Context, Result>

Multiplies two or more aggregation values.

toBoolean

open fun <R : Any> Value<R, *>.toBoolean(): Value<R, Boolean>

Converts this value to a BsonType.Boolean.

toBson

open fun toBson(): 

Writes the result of simplifying to a new Bson.

toDegrees

Converts an angle in radians to an angle in degrees.

toDouble

open fun <R : Any> Value<R, *>.toDouble(): Value<R, Double>

Converts this value to a BsonType.Double.

toInstant

open fun <R : Any> Value<R, *>.toInstant(): Value<R, >

Converts this value to an Instant (BsonType.Datetime).

toInt

open fun <R : Any> Value<R, *>.toInt(): Value<R, Int>

Converts this value to an Int (BsonType.Int32).

toLong

open fun <R : Any> Value<R, *>.toLong(): Value<R, Long>

Converts this value to an Long (BsonType.Int64).

toObjectId

open fun <R : Any> Value<R, *>.toObjectId(): Value<R, >

Converts this value to an ObjectId.

toRadians

Converts an angle in degrees to an angle in radians.

toString

abstract override fun toString(): String

JSON representation of this expression.

toText

open fun <R : Any> Value<R, *>.toText(): Value<R, String>

Converts this value to a String.

toUuid

open fun <R : Any> Value<R, *>.toUuid(): Value<R, >

Converts a string value to a Uuid (BsonType.BinaryData).

trim

Removes whitespace characters, including null, or the specified characters from the beginning and end of a string.

open fun <Context : Any> Value<Context, String?>.trim(vararg characters: Char): Value<Context, String?>

Removes the specified characters from the beginning and end of a string.

open fun <Context : Any> Value<Context, String?>.trim(characters: Value<Context, String?>): Value<Context, String?>

Removes the specified characters from the beginning and end of a string.

trimEnd

Removes whitespace characters, including null, or the specified characters from the end of a string.

open fun <Context : Any> Value<Context, String?>.trimEnd(vararg characters: Char): Value<Context, String?>

Removes the specified characters from the end of a string.

open fun <Context : Any> Value<Context, String?>.trimEnd(characters: Value<Context, String?>): Value<Context, String?>

Removes the specified characters from the end of a string.

trimStart

Removes whitespace characters, including null, or the specified characters from the beginning of a string.

open fun <Context : Any> Value<Context, String?>.trimStart(vararg characters: Char): Value<Context, String?>

Removes the specified characters from the beginning of a string.

open fun <Context : Any> Value<Context, String?>.trimStart(characters: Value<Context, String?>): Value<Context, String?>

Removes the specified characters from the beginning of a string.

uppercase

Converts a string to uppercase, returning the result.

writeTo

abstract fun writeTo(writer: )

Writes the result of simplifying this expression into writer.