MongoDB - $addToSet会创建字段吗?

3

$addToSet 会在字段不存在的情况下创建新字段吗?换句话说,如果以下代码中的 field2 字段不存在,这个命令会创建它吗:

db.collection.update({id: <id>}, {<field2>: {$addToSet: <value>}})

你这里有一个语法错误。它应该是{$addToSet: {<field2>: <value>}}。 - Maksym Polshcha
谢谢,我只是随便写了一下来解释我的意思,并没有实际验证语法 :) - Tamar
这在 MongoDB 控制台中进行测试会非常简单。 - WiredPrairie
2个回答

7
是的,这将会被创建。但正确的语法是:

是的,它将被创建。但是正确的语法是:

db.collection.update({id: <id>}, {$addToSet: {<field2>: <value>}})

1
当然,您可以通过在mongoshell中键入以下内容来轻松验证它
db.col.insert({_id : 1})
db.coll.update({_id : 1}, {$addToSet : {add : 4}})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接