BsonDocument

Implementation of opensavvy.ktmongo.bson.BsonDocument based on the official MongoDB drivers.

To create instances of this class, see BsonFactory.

This page describes the BSON implementation based on the official MongoDB drivers. To learn more about the general BSON operations, see opensavvy.ktmongo.bson.BsonDocument.

Navigating BSON types

This interface is part of the BSON trinity:

Usage

val bson: BsonDocument = …

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

Implementation of a KtMongo opensavvy.ktmongo.bson.BsonDocument that wraps a org.bson.BsonDocument.

To create an instance of this class, see BsonFactory.readDocument.

Types

Link copied to clipboard
expect class Field(name: String, value: BsonValue) : BsonDocument.Field
actual class Field(val name: String, val value: BsonValue) : BsonDocument.Field
Link copied to clipboard

Serializer for the official opensavvy.ktmongo.bson.official.BsonDocument implementation.

Properties

Link copied to clipboard
expect open override val factory: BsonFactory
actual open override val factory: BsonFactory
Link copied to clipboard
abstract val fields: Set<String>
open override val fields: Set<String>
Link copied to clipboard
val raw: BsonDocument
Link copied to clipboard
abstract val size: Int
open override val size: Int

Functions

Link copied to clipboard
expect open override fun asIterable(): Iterable<BsonDocument.Field>
actual open override fun asIterable(): Iterable<BsonDocument.Field>
Link copied to clipboard
expect open override fun asMap(): Map<String, BsonValue>
actual open override fun asMap(): Map<String, BsonValue>
Link copied to clipboard
expect open override fun asSequence(): Sequence<BsonDocument.Field>
actual open override fun asSequence(): Sequence<BsonDocument.Field>
Link copied to clipboard
expect open override fun asValue(): BsonValue
actual open override fun asValue(): BsonValue
Link copied to clipboard
abstract fun <T> decode(type: KType): T
open override fun <T> decode(type: KType): T
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
expect open operator override fun get(field: String): BsonValue?
actual open operator override fun get(field: String): BsonValue?
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open fun isEmpty(): Boolean
open fun isEmpty(): Boolean
Link copied to clipboard
open fun isNotEmpty(): Boolean
open fun isNotEmpty(): Boolean
Link copied to clipboard
expect open operator override fun iterator(): Iterator<BsonDocument.Field>
actual open operator override fun iterator(): Iterator<BsonDocument.Field>
Link copied to clipboard
abstract fun toByteArray(): ByteArray
open override fun toByteArray(): ByteArray
Link copied to clipboard
abstract override fun toString(): String
open override fun toString(): String