gpt4 book ai didi

mongodb - 仅当字段存在于 MongoDB 中时才更新该字段

转载 作者:行者123 更新时间:2023-12-05 01:45:29 24 4
gpt4 key购买 nike

我在 MongoDB 的 testcol 集合中有一个这样的文档:

{
_id:111,
"xxx":"aaa",
"yyy":"bbb"
}

我想更新文档中的字段 yyy,如果找到该字段则更新它,如果找不到该字段则什么都不做。

当我运行我的 mongo 数据库更新命令时 db.testcol.update({_id:0},{$set:{"zzz":"ccc"}},{upsert: false})。我故意在更新命令中将该字段指定为“zzz”,这样它就不会执行任何操作。但是当我运行上面的更新命令时,它在上面的文档中插入了新字段“zzz”,尽管 upsert 被赋予了 false。我知道 upsert 不会/将插入 document 而不是 field ,但由于我是 MongoDB 的新手,所以我只是试一试。谁能告诉我如何解决这个问题?

最佳答案

您可以使用 $exists如果存在 yyy 字段,则查询中的运算符仅匹配文档:

db.testcol.update({_id: 111, yyy: {$exists: true}}, {$set: {yyy: 'ccc'}})

关于mongodb - 仅当字段存在于 MongoDB 中时才更新该字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41599523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com