struct

Mongo::ChangeStream::Document(T)

Inherits BSON::Serializable / Struct / Value / Object

Constructors

new(bson : BSON)

Allocate an instance and copies data from a BSON struct.

class User
  include BSON::Serializable
  property name : String
end

data = BSON.new
data["name"] = "John"
User.new(data)
Source

Class methods

from_bson(bson : BSON)

NOTE: See self.new.

Source

Instance methods

_id

The id functions as an opaque token for use when resuming an interrupted change stream.

Source
document_key

Only present for ops of type ‘insert’, ‘update’, ‘replace’, and ‘delete’.

For unsharded collections this contains a single field, _id, with the value of the _id of the document updated. For sharded collections, this will contain all the components of the shard key in order, followed by the _id if the _id isn’t part of the shard key.

Source
full_document

Always present for operations of type ‘insert’ and ‘replace’. Also present for operations of type ‘update’ if the user has specified ‘updateLookup’ in the ‘fullDocument’ arguments to the ‘$changeStream’ stage.

For operations of type ‘insert’ and ‘replace’, this key will contain the document being inserted, or the new version of the document that is replacing the existing document, respectively.

For operations of type ‘update’, this key will contain a copy of the full version of the document from some point after the update occurred. If the document was deleted since the updated happened, it will be null.

Source
ns

Contains two fields: “db” and “coll” containing the database and collection name in which the change happened.

Source
operation_type

Describes the type of operation represented in this change notification. "insert" | "update" | "replace" | "delete" | "invalidate" | "drop" | "dropDatabase" | "rename"

Source
to_bson(bson = BSON.new)

Converts to a BSON representation.

user = User.new name: "John"
bson = user.to_bson
Source
update_description

Only present for ops of type ‘update’.

Contains a description of updated and removed fields in this operation.

Source

Nested types