Bson¶
Pure Kotlin BSON document implementation.
Implementation¶
Instead of decoding the BSON document into subdocuments, this class stores the raw bytes in BSON representation. Fields are decoded lazily when searched via the reader.
Because the reader is lazy, it is not thread-safe. If you want to use this instance without external synchronization, call eager.
Functions¶
eager¶
fun eager()
Scans this entire document recursively to find all the fields.
By default, Bson lazily scans for fields. This is particularly beneficial if there is more data than you are interested in. However, this means the reader may discover fields as it is being used, which is not thread-safe.
Instead, you can call this function to force a scan of the entire hierarchy. After this function returns, reader and all the values returned by it are thread-safe and immutable.
equals¶
hashCode¶
reader¶
@LowLevelApi
open override fun reader(): BsonDocumentReader
toByteArray¶
@LowLevelApi
open override fun toByteArray(): ByteArray