此版本的文档已存档,不再提供支持。要升级5.0部署,请参阅 MongoDB 6.0升级程序。
总结
replace
当更新操作从集合中删除文档并将其替换为新文档时(例如调用
replaceOne
方法时),会发生replace
事件。
说明
字段 | 类型 | 说明 | |||
---|---|---|---|---|---|
| 文档 | 一个 BSON 对象,用作变更流事件的标识符。恢复变更流时,此值用作
有关通过 | |||
| 时间戳 | ||||
| 文档 | 一个文档,其中包含 CRUD 操作创建或修改的文档的 对于分片集合,此字段还显示文档的完整分片键。如果 | |||
| 文档 | 该操作创建的新文档。 | |||
| 文档 | 与事务关联的会话标识符。 只有当操作是多文档事务的一部分时才会出现。 | |||
| 文档 | 受事件影响的命名空间(数据库和/或集合)。 | |||
| 字符串 | 发生事件的集合的名称。 | |||
| 字符串 | 发生事件的数据库的名称。 | |||
| 字符串 | 变更通知报告的操作类型。 为这些变更事件返回 | |||
| NumberLong |
示例
以下示例说明了 replace
事件:
{ "_id": { <Resume Token> }, "operationType": "replace", "clusterTime": <Timestamp>, "ns": { "db": "engineering", "coll": "users" }, "documentKey": { "_id": ObjectId("599af247bb69cd89961c986d") }, "fullDocument": { "_id": ObjectId("599af247bb69cd89961c986d"), "userName": "alice123", "name": "Alice" } }
replace
操作使用更新命令,并由两个阶段组成:
删除原始文档,方法是使用
documentKey
和使用相同的方法插入新文档
documentKey
replace
事件的fullDocument
表示插入替换文档后的文档。