BsonNode

interface BsonNode : Node, <ERROR CLASS> ERROR CLASS: Symbol not found for BsonFieldWriteable(source)

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

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
abstract val context: BsonContext

The context used to generate this expression.

Functions

Link copied to clipboard
abstract override fun freeze()

Makes this expression immutable.

Link copied to clipboard
abstract fun simplify(): BsonNode?

Returns a simplified (but equivalent) expression to the current expression.

Link copied to clipboard
open fun toBson(): ERROR CLASS: Symbol not found for Bson

Writes the result of simplifying to a new Bson.

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

JSON representation of this expression.

Link copied to clipboard
abstract override fun writeTo(writer: ERROR CLASS: Symbol not found for BsonFieldWriter)

Writes the result of simplifying this expression into writer.