MongoDb将如何更新列表?

MongoDb将如何更新列表?,mongodb,mongoengine,Mongodb,Mongoengine,我有MongoDB 2.2.2和本系列: 你能帮我找到一个合适的更新命令吗:db.my\u collection.campetings.减号关键字? 它是另一个数组中的一个数组 非常感谢 要将项添加到mongoDB对象内的数组中,可以使用$addToSet命令,例如: db.inventory.update( { _id: ObjectId('51b0f9b74cfe6e668c4fd8f4') }, { $addToSet: { campaigns.minus_keywords:

我有MongoDB 2.2.2和本系列:

你能帮我找到一个合适的更新命令吗:
db.my\u collection.campetings.减号关键字

它是另一个数组中的一个数组


非常感谢

要将项添加到mongoDB对象内的数组中,可以使用$addToSet命令,例如:

db.inventory.update(
   { _id: ObjectId('51b0f9b74cfe6e668c4fd8f4') },
   { $addToSet: { campaigns.minus_keywords: "accessories" } }
)
上述命令($addToSet)仅在不存在时添加值

如果我想增加(双重价值)怎么办? -您可以改用$push命令

有关$addToSet的更多信息:

我问了,我回答了;)
db.my_collection.update({u id:ObjectId('51B0F9B74CFE668C4FD8F4'),'Campages.\u syskey':'default'},{$set:{'Campages.0.minus_keywords':['aaa',bbb']}})
有更好的情况吗?只是一些建议,而不是使用数组索引('Campages.0.minus_keywords')指定要修改的数组元素,考虑使用位置运算符$('Actudio .$.UMUSUG关键字)。有关位置运算符的详细信息,请参见,如果要附加列表/数组,可以将$push运算符与$each而不是$set一起使用。
db.inventory.update(
   { _id: ObjectId('51b0f9b74cfe6e668c4fd8f4') },
   { $addToSet: { campaigns.minus_keywords: "accessories" } }
)