我想使用 update 插入记录和更新属性并获取更新的状态。我使用了getN() 方法WriteResult。问题是,如果属性存在,它总是返回一个,而我希望返回 0。谢谢
这是我的更新请求:
db.friends.update( {adv: "man2ist", "list.id" : {$ne : "5" }} , {$addToSet : {"list" : {'id' : "5" , 'value' : 100 }} } ,false , true);
a 中的n
值WriteResult
提供了更新的文档数,如果您的更新查询不匹配任何文档并且您没有执行 upsert,则它只能为 0。您最好的选择可能是使用findAndModify
旧文档并与之进行比较。