我使用回送和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"}}})