环回更新 属性 对象数组

Loopback Update property Array of Object

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

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

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

的 Color 对象

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

在 mongo CLI 中,您可以使用 $(位置)从嵌入式数组文档更新匹配元素

更新

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

使用$pull删除

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