当我尝试使用方法
插入新文档时db.collection.findOneAndReplace({_id : NaN}, {"name" : "department"}, { upsert : true, returnNewDocument: true })
我在这里使用{_id : NaN}
,以便没有文档匹配
不是创建具有有效ID的文档,而是创建id为NaN
{
_id : NAN,
name: "department"
}
我如何获得有效身份证件?或者我的方法参数有错误吗?
答案 0 :(得分:1)
您可以执行{_id : {$exists: false}}
,以便它不会匹配任何文档。但是,它仍然是一个奇怪的操作,因为仅upsert
仅用于insert
操作是没有意义的。
如果您需要新文档,我建议您尝试insert,如果文档可能存在且您需要更新(或者创建新文档) - 请执行{{3} }。