Skip to content

HasOrdered

interface HasOrdered : Options

Specifies whether operations in a bulk are independent.

See ordered.

Inheritors

Properties

allOptions

@LowLevelApi
abstract val allOptions: List<Option>

The full list of options set on this container.

Specific options are usually searched using the option extension.

context

The context used to generate this expression.

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.

freeze

@LowLevelApi
abstract override fun freeze()

Makes this node immutable.

option

@LowLevelApi
inline fun <O : Option> Options.option(): O?

Accesses the value of a given Option.

For example, if we have a helper function that sets some default options, and we want to know what maximum limit it set, we can use:

collection.count(
    options = {
        println(option<LimitOption>()) // Will print an integer
    }
)

ordered

open fun ordered(isOrdered: Boolean = true)

Specifies whether the operations in this bulk are independent.

If the operations are ordered, they are executed in the same order as they are specified. If an operation fails, the remaining ones are not executed.

If the operations are not ordered, they run in parallel in an arbitrary order. If an operation fails, the remaining ones are still executed.

Example

class User(
    val name: String,
    val age: Int,
)

collection.insertMany(
    User("John", 25),
    User("Jane", 30),
    options = { ordered(false) },
)

See also

simplify

@LowLevelApi
abstract fun simplify(): BsonNode?

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

toBson

Writes the result of simplifying to a new BsonDocument.

toString

abstract override fun toString(): String

JSON representation of this option.

unordered

open fun unordered(isUnordered: Boolean = true)

Specifies whether the operations in this bulk are independent.

If the operations are ordered, they are executed in the same order as they are specified. If an operation fails, the remaining ones are not executed.

If the operations are not ordered, they run in parallel in an arbitrary order. If an operation fails, the remaining ones are still executed.

Example

class User(
    val name: String,
    val age: Int,
)

collection.insertMany(
    User("John", 25),
    User("Jane", 30),
    options = { unordered() },
)

See also

  • ordered: Negation of this operator.

writeTo

@LowLevelApi
abstract override fun writeTo(writer: BsonFieldWriter)

Writes the result of simplifying this expression into writer.