1

我在猫鼬中做一个 findOneAndUpdate :

Item.findOneAndUpdate({_id: 12345}, updateDoc, function (err, updatedItem) {
   //....
});

但是我想完全覆盖文档。根据猫鼬文档:

所有不是原子操作名称的顶级键都被视为集合操作:

无论如何我可以覆盖该行为,以便猫鼬不会为顶级元素发出 $set 操作而是覆盖文档?

4

1 回答 1

9

最近添加了“覆盖”选项。它替换了整个文档,Mongo 默认更新的方式。它是这样使用的:

Item.findOneAndUpdate({_id: 12345}, updateDoc, {overwrite: true}, function(err, updatedItem) {
....
});

我在他们的 GitHub问题区域中找到了有关此功能的一些历史记录。

于 2014-02-20T18:57:51.380 回答