Mongodb Java在文档中添加新的数组元素

时间:2015-02-17 08:10:02

标签: arrays mongodb

我正在使用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"}}})

但这不是在特定位置添加属性。

1 个答案:

答案 0 :(得分:2)

使用Set和参考:

尝试此更新
db.Sample.update({"scores.type" : "english"},{"$set" : {"scores.$.grade":"A"}})