【发布时间】:2017-01-11 19:50:11
【问题描述】:
我在 MongoDB 的 testcol 集合中有一个文档,如下所示:
{
_id:111,
"xxx":"aaa",
"yyy":"bbb"
}
我想更新文档中的字段 yyy,如果找到该字段则更新它,如果未找到该字段则不执行任何操作。
当我运行像 db.testcol.update({_id:0},{$set:{"zzz":"ccc"}},{upsert: false}) 这样的 mongo db update 命令时。我故意在更新命令中将该字段指定为“zzz”,以便它不应该做任何事情。但是当我运行上面的更新命令时,它在上面的文档中插入了新的字段“zzz”,尽管 upsert 被赋予了错误。我知道 upsert 不会/将插入 document 而不是 field ,但是由于我是 MongoDB 新手,所以我只是试一试。谁能告诉我如何解决这个问题?
【问题讨论】:
标签: mongodb mongodb-query upsert