如何传递不匹配任何文档的ID - MongoDB?

时间:2017-03-27 10:19:52

标签: mongodb

当我尝试使用方法

插入新文档时
db.collection.findOneAndReplace({_id : NaN}, {"name" : "department"},  {    upsert : true, returnNewDocument: true })

我在这里使用{_id : NaN},以便没有文档匹配

不是创建具有有效ID的文档,而是创建id为NaN

的文档
{
  _id : NAN,
  name: "department"

}

我如何获得有效身份证件?或者我的方法参数有错误吗?

1 个答案:

答案 0 :(得分:1)

您可以执行{_id : {$exists: false}},以便它不会匹配任何文档。但是,它仍然是一个奇怪的操作,因为仅upsert仅用于insert操作是没有意义的。

如果您需要新文档,我建议您尝试insert,如果文档可能存在且您需要更新(或者创建新文档) - 请执行{{3} }。