【发布时间】:2014-02-01 19:38:04
【问题描述】:
我在 mongodb 数据库中有以下文档结构:
{
"_id" : ObjectId("52ec7b43e4b048cd48499b35"),
"eidlist" : [
{
"eid" : "64286",
"dst" : NumberLong(21044),
"score" : 0
},
{
"eid" : "65077",
"dst" : NumberLong(21044),
"score" : 0
}
],
"src" : NumberLong(21047)
}
我想使用 Java-mongodb 驱动更新第一个对象的 score 字段: 我尝试了以下代码,但它不起作用:( :
DBObject update_query=new BasicDBObject("src", key).append("eidlist.eid", e.getEdgeid());
DBObject data=new BasicDBObject("$set",new BasicDBObject("eidlist.score",100));
coll.update(update_query, data);
请帮我解决这个问题..我已经检查了我传递给更新函数的所有参数。我认为更新逻辑有问题:(
【问题讨论】:
-
您是否运行了带有更新查询的 findOne 以确保获得您期望的文档?
-
@adavis:是的,我用 findOne 试过了,这个记录存在于数据库中。
标签: java mongodb mongodb-query mongo-java