我正在使用mongo 2.2.3和java驱动程序。我的困境,我必须把一个字段和值推入一个数组元素,但我似乎无法弄清楚如何做到这一点。我的数据样本:
"_id" : 1,
"scores" : [
{
"type" : "english",
"score" : 78.97979
},
{
"type" : "spanish",
"score" : 6.99
}
]
我想在attribute ("grade" : "A")
。
type = english
推送文件后的如下所示:
"_id" : 1,
"scores" : [
{
"type" : "english",
"score" : 78.97979,
"grade" : "A"
},
{
"type" : "spanish",
"score" : 6.99
}
]
我尝试使用shell:
db.Sample.update({"scores.type" : "english"},{"$push" : {"scores": {"grade":"A"}}})
但这不是在特定位置添加属性。
答案 0 :(得分:2)
使用Set和参考:
尝试此更新db.Sample.update({"scores.type" : "english"},{"$set" : {"scores.$.grade":"A"}})