0

我有 MongoDB 2.2.2 和这个集合:

> db.my_collection.find({_id: ObjectId('51b0f9b74cfe6e668c4fd8f4')}).pretty()
{
  "_id" : ObjectId("51b0f9b74cfe6e668c4fd8f4"),
  "campaigns" : [
      {
          "cs_strategy_name" : "HighestPosition",
          "name" : "DefaultCampaign",
          "campaign_id" : 0,
          "_syskey" : "default",
          "en_send_warn" : "Yes",
          "minus_keywords" : [ ],
          "login" : "test",
          "fio" : "test test"
      }
  ],
  "domain" : "defsite.ru",
  "login" : "test",
  "name" : "test",
  "password" : "",
  "site_id" : 2,
  "status" : "new",
  "surname" : "test"

你能帮我找到一个合适的更新命令吗:db.my_collection.campaigns.minus_keywords
它是另一个数组中的一个数组。

太谢谢了!

4

1 回答 1

0

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

db.inventory.update(
   { _id: ObjectId('51b0f9b74cfe6e668c4fd8f4') },
   { $addToSet: { campaigns.minus_keywords: "accessories" } }
)

上面的命令 ($addToSet) 只会添加不存在的值。

如果我想添加(重复值)怎么办?- 您可以改用 $push 命令。

有关 $addToSet 的更多信息:http: //docs.mongodb.org/v2.2/reference/operator/update/addToSet/ http://docs.mongodb.org/v2.2/reference/operator/update/push /

于 2015-06-28T06:25:50.080 回答