我正在使用mongo 2.2.3和Java驱动程序。
我的困境是,我必须将一个字段和值插入一个数组中,但是我似乎无法弄清楚该如何做。我的数据样本:

"_id" : 1,
"scores" : [
    {
        "type" : "homework",
        "score" : 78.97979
    },
    {
        "type" : "homework",
        "score" : 6.99
    },
    {
        "type" : "quiz",
        "score" : 99
    }
]

我可以在 shell 中插入:
db.collection.update({_id:1},{$push:{scores:{type:"quiz", score:99}}})

但是,当我将其翻译成Java时,我迷惑了自己,将键盘卡在墙上。

到目前为止,我的Java代码(不完整和错误):
DBObject find = new BasicDBObject("_id", 1);
DBObject push = new BasicDBObject("$push", new BasicDBObject(
                        "scores", new BasicDBObject()));

最佳答案

DBObject listItem = new BasicDBObject("scores", new BasicDBObject("type","quiz").append("score",99));
DBObject updateQuery = new BasicDBObject("$push", listItem);
myCol.update(findQuery, updateQuery);

关于java - (MongoDB Java)将$ push到数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15436542/

10-09 15:24