使用$ addToSet进行数组更新是否会创建该字段?换句话说,如果下面一行中的field2
不存在,它将由此命令创建:
db.collection.update({id: <id>}, {<field2>: {$addToSet: <value>}})
答案 0 :(得分:5)
是的,它会创造。但正确的语法是:
db.collection.update({id: <id>}, {$addToSet: {<field2>: <value>}})
答案 1 :(得分:1)
当然,您可以通过在mongoshell中输入类似内容来轻松验证它
db.col.insert({_id : 1})
db.coll.update({_id : 1}, {$addToSet : {add : 4}})