BsonDocumentReader

Utilities for decomposing a Bson document into its fields.

To obtain an instance of this interface, see Bson.reader.

Example

val bson: Bson = …

for ((name, field) in bson.read().entries) {
println("Field: $name • ${field.type}")
}

Implementation constraints

Different implementations of BsonDocumentReader should be considered equal if they have the same fields which each have the same values. The methods BsonDocumentReader.Companion.equals and BsonDocumentReader.Companion.hashCode are provided to facilitate implementation.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

A map allowing to go through all key-value pairs in the document.

Link copied to clipboard
open val names: Set<String>

A set of the field names in the document.

Functions

Link copied to clipboard
abstract fun asValue(): BsonValueReader

Reads this entire document as a BsonValueReader.

Link copied to clipboard

Analyzes the difference between two BSON documents.

Link copied to clipboard
abstract fun read(name: String): BsonValueReader?

Attempts to read a field named name.

abstract fun <T : Any> read(type: KType, klass: KClass<T>): T?

Reads this document into an instance of type.

Link copied to clipboard
abstract fun toBson(): Bson

Reads this document into a Bson instance.

Link copied to clipboard
abstract override fun toString(): String

JSON representation of the document this BsonDocumentReader is reading, as a String.