我正在使用 mongo 2.2.3 和 java 驱动程序。 我的困境,我必须将一个字段和值插入一个数组,但我似乎无法弄清楚如何做到这一点。我的数据样本:
"_id" : 1,
"scores" : [
{
"type" : "homework",
"score" : 78.97979
},
{
"type" : "homework",
"score" : 6.99
},
{
"type" : "quiz",
"score" : 99
}
]
我可以在 shell 中 $push:
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);
https://stackoverflow.com/questions/15436542/