changestreamdocumemt 如何获取删除前数据
时间: 2024-03-09 14:48:12 浏览: 86
在 MongoDB 中,使用 Change Streams 可以对集合进行实时监视,并可以在文档被插入、更新或删除时获取通知。如果要获取删除前的数据,可以在 Change Stream 中使用 `fullDocument` 选项,并将其设置为 `updateLookup`。这将在文档被删除前将其完整内容返回给应用程序,以便进行处理。以下是一个使用 `fullDocument` 选项的 Change Stream 示例:
```
const pipeline = [
{ $match: { operationType: "delete" } },
{ $project: { document: "$fullDocument" } }
];
const changeStream = db.collection("myCollection").watch(pipeline, { fullDocument: "updateLookup" });
changeStream.on("change", change => {
const deletedDocument = change.fullDocument;
console.log("Deleted document:", deletedDocument);
});
```
这个示例将监视 `myCollection` 集合中的删除操作,并在每次删除时获取删除前的完整文档。注意,`fullDocument` 选项只在更新和替换操作中可用,但是在删除操作中也可以使用。
阅读全文