Skip to content

WithLimit

interface WithLimit : Options

Limits the number of elements returned by a query.

See limit.

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

@LowLevelApi



abstract val context: BsonContext

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

@LowLevelApi



@DangerousMongoApi



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

Adds any number of nodes into this one.

freeze

@LowLevelApi



abstract override fun freeze()

Makes this expression immutable.

limit

open fun limit(limit: Int)

The maximum number of matching documents to return.

collections.count {
    options {
        limit(99)
    }
}
open fun limit(limit: Long)

The maximum number of matching documents to return.

collections.count {
    options {
        limit(99L)
    }
}

Note that not all drivers support specifying a limit larger than an Int.

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

@LowLevelApi



open fun toBson(): Bson

Writes the result of simplifying to a new BSON document.

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.