如何更新数组对象并同时将对象添加到数组?

时间:2016-07-19 06:37:53

标签: mongodb meteor

示例数据:

{
  "invoice_no": "a2",
  "items": [
    {
      "name": "shoes",
      "qty": 3,
      "price": 200
    },
    {
      "name": "jeans",
      "qty": 5,
      "price": 500
    }
  ]
}

我想更新items数组中的现有对象,并同时将另一个对象添加到同一个数组中。

1 个答案:

答案 0 :(得分:0)

根据MongoDB文档,您可以使用多个更新运算符修饰符https://docs.mongodb.com/manual/reference/method/db.collection.update/#update-parameter

我想你可以试试这个:

<button class='btn btn-sm btn-info favourite_feature' value="<?php echo $id;?>"><?php echo ($isFavourite == true ? 'remove from favourites' : 'add to favourites')?></button>

您还应该阅读此https://docs.mongodb.com/manual/reference/operator/update/positional/

使用$ addToSet更新

db.collection.update({"invoice_no": "a2", "items.name": "shoes"}, {$push: {"name":"shorts", "qty":10, "price":200}, $set: {"items.$.qty": 5}});