anchor.diff:  
   |6
   |`after`
  -|An optional field that specifies the state of the document after the event occurred. In this example, the `after` field contains the values of the new document's `\_id`, `first_name`, `last_name`, and `email` fields. The `after` value is always a string. By convention, it contains a JSON representation of the document. MongoDB's oplog entries contain the full state of a document only for _create_ events and also for `update` events, when the `capture.mode` option is set to `change_streams_update_full`; in other words, a _create_ event is the only kind of event that contains an _after_ field, when the `capture.mode` option is set either to `change_streams`.
  +|An optional field that specifies the state of the document after the event occurred. In this example, the `after` field contains the values of the new document's `\_id`, `first_name`, `last_name`, and `email` fields. The `after` value is always a string. By convention, it contains a JSON representation of the document. MongoDB's oplog entries contain the full state of a document only for _create_ events and also for `update` events, when the `capture.mode` option is set to `change_streams_update_full`; in other words, a _create_ event is the only kind of event that contains an _after_ field regardless of `capture.mode` option.
   
   |7
   |`source`
  
positive.code: 
  You must also have a MongoDB user that has the appropriate roles to read the `admin` database where the oplog can be read. Additionally, the user must also be able to read the `config` database in the configuration server of a sharded cluster and must have `listDatabases` privilege action.
  When change streams are used (the default) the user also must have cluster-wide privilege actions `find` and `changeStream`.
  
  ifdef::community[]
  [[mongodb-in-the-cloud]]
  
negative.code: In the `source` object, `ts_ms` indicates the time that the change was made in the database. By comparing the value for `payload.source.ts_ms` with the value for `payload.ts_ms`, you can determine the lag between the source database update and {prodname}.
  
  |3
  |`before`
  |Contains the JSON string representation of the actual MongoDB document before change.
  +
  An _update_ event value does not contain an `before` field if the capture mode is not set to one of the`*_with_preimage` options.
  
  |4
  |`after`
  |Contains the JSON string representation of the actual MongoDB document.
   +
  An _update_ event value does not contain an `after` field if the capture mode is not set to `change_streams_update_full`
  
  |5
  |`updatedFields`
  |Contains the JSON string representation of the updated field values of the document. In this example, the update changed the `first_name` field to a new value.
  
  |6
  |`source`
  a|Mandatory field that describes the source metadata for the event. This field contains the same information as a _create_ event for the same collection, but the values are different since this event is from a different position in the oplog. The source metadata includes:
  
  