Skip to content

HasMaxTime

interface HasMaxTime : Options

Maximum duration spent processing the request.

See maxTime.

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.

maxTime

open fun maxTime(timeout: Duration)

Specifies a maximum amount of time for processing the request.

MongoDB does not support sub-millisecond timeouts, so any non-zero timeout less than 1 millisecond is treated as 1 full millisecond.

0 disables the timeout.

Support

  • The official Kotlin driver does not support this option in insert operations. See JAVA-6301.

Example

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

collection.count(
    options = { maxTime(10.seconds) }
) {
    User::age eq 10
}

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
    }
)

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.

writeTo

@LowLevelApi
abstract override fun writeTo(writer: BsonFieldWriter)

Writes the result of simplifying this expression into writer.