如何在替换整个文档的同时更新mongodb文档


How do you update a mongodb document while replacing the entire document?

如果我有一个文档有两个值:

{
  "name" : "Bob",
  "location" "France"
}

然后将一个数组传递给包含"name"、"country"的文档。如何确保整个文档更新,并删除"位置"?

我不会意识到这两个文档之间的差异,所以我无法取消设置特定字段。我正在寻找一种简单地用提供的数组替换文档数据的方法。

如果向update提供包含所需记录的新文档,则会替换该文档。

例如:

db.so.insert({"name":"Bob", "location": "France"})
db.so.update({"name":"Bob", "location": "France"}, {"name":"Roberto", "country":"Italy"})
db.so.find()
{ "_id" : ObjectId(), "name" : "Roberto", "country" : "Italy" }

当然,如果您有文档的_id,这将是指定更新的更好方法(而不是像上面那样传回刚刚插入的文档)