Loopback Update属性Object的Object

时间:2018-02-03 14:44:33

标签: arrays mongodb loopback

我使用的是loopback和mongodb。 现在我有一个Model,它的一个属性类型是object数组。 mongo中的文档看起来像这样

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

现在我有要求查询更新并删除co​​lors数组中的特定对象。假设我需要仅将colorName 2中的colorId更新为绿色。 并删除colorId为2的对象。

如何在环回中实现这一目标? 请指教 ! 谢谢。

1 个答案:

答案 0 :(得分:3)

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

更新

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

使用$pull删除

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