BsonArray¶
interface BsonArray
A BSON array.
To create instances of this class, see BsonFactory.
Implementation constraints¶
equals and hashCode should follow the same constraints as BsonArrayReader's implementations.
Functions¶
diff¶
@LowLevelApi
infix fun BsonDocumentReader.diff(other: BsonDocumentReader): String?
Analyzes the difference between two BSON documents.
This function is particularly useful in tests. Since BSON documents can be large, it may be difficult to find what the difference between two documents is.
This function generates human-readable output to find the differences.
Example¶
val a = factory.buildDocument {
writeString("a", "foo")
writeDocument("b") {
writeString("name", "Bob")
writeInt32("age", 18)
}
}
val b = factory.buildDocument {
writeString("a", "foo")
writeDocument("b") {
writeString("name", "Alice")
writeInt32("age", 19)
}
}
println(a.reader() diff b.reader())
Return
If the two documents are equal, returns null. Otherwise, generates a human-readable diff.
@LowLevelApi
infix fun BsonArrayReader.diff(other: BsonArrayReader): String?
Analyzes the difference between two BSON arrays.
This function is particularly useful in tests. Since BSON arrays can be large, it may be difficult to find what the difference between two documents is.
This function generates human-readable output to find the differences.
Example¶
val a = factory.buildArray {
writeString("foo")
writeDocument {
writeString("name", "Bob")
writeInt32("age", 18)
}
}
val b = factory.buildArray {
writeString("foo")
writeDocument {
writeString("name", "Alice")
writeInt32("age", 19)
}
}
println(a.reader() diff b.reader())
Return
If the two arrays are equal, returns null. Otherwise, generates a human-readable diff.
@LowLevelApi
infix fun BsonValueReader.diff(other: BsonValueReader): String?
Analyzes the difference between two BSON values.
This function is particularly useful in tests. Since BSON documents can be large, it may be difficult to find what the difference between two documents is.
This function generates human-readable output to find the differences.
Return
If the two documents are equal, returns null. Otherwise, generates a human-readable diff.
Analyzes the difference between two BSON documents.
This function is particularly useful in tests. Since BSON documents can be large, it may be difficult to find what the difference between two documents is.
This function generates human-readable output to find the differences.
Example¶
val a = factory.buildDocument {
writeString("a", "foo")
writeDocument("b") {
writeString("name", "Bob")
writeInt32("age", 18)
}
}
val b = factory.buildDocument {
writeString("a", "foo")
writeDocument("b") {
writeString("name", "Alice")
writeInt32("age", 19)
}
}
println(a diff b)
Return
If the two documents are equal, returns null. Otherwise, generates a human-readable diff.
Analyzes the difference between two BSON arrays.
This function is particularly useful in tests. Since BSON arrays can be large, it may be difficult to find what the difference between two documents is.
This function generates human-readable output to find the differences.
Example¶
val a = factory.buildArray {
writeString("foo")
writeDocument {
writeString("name", "Bob")
writeInt32("age", 18)
}
}
val b = factory.buildArray {
writeString("foo")
writeDocument {
writeString("name", "Alice")
writeInt32("age", 19)
}
}
println(a diff b)
Return
If the two arrays are equal, returns null. Otherwise, generates a human-readable diff.
reader¶
@LowLevelApi
abstract fun reader(): BsonArrayReader
Reads the elements of this array.
toByteArray¶
abstract fun toByteArray(): ByteArray
Low-level byte representation of this BSON document.