如果我有一个包含两个值的文档:
{
"name" : "Bob",
"location" "France"
}
然后将包含“name”和“country”的数组传递给文档。如何确保整个文档已更新并删除了“location”?
我不知道两个文档之间的区别,因此无法取消设置特定字段。我正在寻找一种方法,只需使用提供的数组替换文档数据。
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
,那么这将是更好的指定更新的方式(而不是像上面那样传回刚插入的文档)。_id
来执行相同的操作。请查看有关在 PHP 中进行更新的文档,其中显示了替换更新和仅修改文档部分的更新之间的区别。 - Andre de Frere