struct Mongo::ChangeStream::Document(T)

Included Modules

Defined in:



Class Method Summary

Instance Method Summary

Constructor Detail

def : BSON) #

Allocate an instance and copies data from a BSON struct.

class User
  include BSON::Serializable
  property name : String

data =
data["name"] = "John"

Class Method Detail

def self.from_bson(bson : BSON) #


Instance Method Detail

def _id : BSON #

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

def document_key : BSON? #

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.

def full_document : T? #

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.

def ns : BSON #

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

def operation_type : String #

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

def to_bson(bson = #

Converts to a BSON representation.

user = name: "John"
bson = user.to_bson

def update_description : UpdateDescription? #

Only present for ops of type ‘update’.

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