我在猫鼬中做一个 findOneAndUpdate :
Item.findOneAndUpdate({_id: 12345}, updateDoc, function (err, updatedItem) {
//....
});
但是我想完全覆盖文档。根据猫鼬文档:
所有不是原子操作名称的顶级键都被视为集合操作:
无论如何我可以覆盖该行为,以便猫鼬不会为顶级元素发出 $set 操作而是覆盖文档?
最近添加了“覆盖”选项。它替换了整个文档,Mongo 默认更新的方式。它是这样使用的:
Item.findOneAndUpdate({_id: 12345}, updateDoc, {overwrite: true}, function(err, updatedItem) {
....
});
我在他们的 GitHub问题区域中找到了有关此功能的一些历史记录。