BsonNode¶
interface BsonNode : Node, BsonFieldWriteable
A node in the BSON AST.
Each implementation of this interface is a logical BSON node in our own intermediary representation. Each node knows how to writeTo itself into a BSON document.
Security¶
Implementing this interface allows injecting arbitrary BSON into a request. Be very careful not to make injections possible.
Implementation notes¶
Prefer implementing AbstractBsonNode instead of implementing this interface directly.
Debugging notes¶
Use toString to view the JSON representation of this expression.
Inheritors¶
Types¶
Companion¶
object Companion
Properties¶
context¶
@LowLevelApi
abstract val context: BsonContext
The context used to generate this expression.
Functions¶
freeze¶
@LowLevelApi
abstract override fun freeze()
Makes this expression immutable.
After this method has been called, the expression can never be modified again. This ensures that expressions cannot change after they have been used within other expressions.
simplify¶
Returns a simplified (but equivalent) expression to the current expression.
Returns null when the current expression was simplified into a no-op (= it does nothing).
toBson¶
Writes the result of simplifying to a new BSON document.
toString¶
JSON representation of this expression.
writeTo¶
@LowLevelApi
abstract override fun writeTo(writer: BsonFieldWriter)
Writes the result of simplifying this expression into writer.