如果上限集合为空,我试图以原子方式插入一个空文档,如果不为空,则返回最后一个自然排序的文档。我可以用 findAndModify 做到这一点吗?
db.collection.findAndModify({
query: { _id: { $exists: true }},
sort: { $natural: -1 },
update: {},
upsert: true,
new: true
});
我本来希望这要么返回最新的文档(如果集合不为空),要么插入一个新文档(如果不存在),但是,它每次调用时都会插入一个空白文档(没有_id)。findAndModify 是否适用于有上限的集合?我需要添加的文档有一个_id
.
谢谢。
-斯科特