我使用回送和mongodb。
现在我有一个Model,它的属性类型之一是对象数组。
mongo中的文档将如下所示

{
  "id": "123123213",
  "name": "Some Name",
  "colors": [{
    "colorId": "1"
    "colorName: "Red"
  }, {
    "colorId": "2",
    "colorName: "Blue"
  }]
}


现在我有一个查询更新和删除颜色数组中特定对象的要求。假设我只需要将colorName 2中的colorId更新为绿色。
并删除colorId为2的Color对象。

如何在环回中实现呢?
请指教 !
谢谢。

最佳答案

在mongo CLI中,可以使用$(位置)来更新嵌入式阵列文档中的匹配元素

更新

> db.colors.update({"colors.colorId" :"2"}, {$set : {"colors.$.colorName" : "Green"}})


使用$pull删除

> db.colors.update({}, {$pull : {"colors" : {"colorId" : "2"}}})

09-30 22:48