BsonNode

interface BsonNode : Node(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: <Error class: unknown class>

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: unknown class>

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 fun writeTo(writer: <Error class: unknown class>)

Writes the result of simplifying this expression into writer.