使用mongodb更新数组内的数组

时间:2011-11-15 10:54:08

标签: java mongodb mongodb-java

我对可能最基本的东西感到非常困难。我的数据库中有以下条目

{"_id"=>BSON::ObjectId('4ec2429c85aab65f16fa2700'),
     "owner"=>4,
     "friends"=>{"mappings"=>{"Test"=>34}},
     "friendid"=>"309"}

我正在尝试在映射数组中插入另一个值。像“Testing”=> 10

这样的东西

不幸的是,在尝试各种不同的方法时,我没有运气。目前我正在尝试以下方面但没有成功。

BasicDBObject updateQuery = new BasicDBObject();
updateQuery.put("owner", owner);
updateQuery.put("friendid", userid);
BasicDBObject updateCommand = new BasicDBObject();
updateCommand.put("$push",  new BasicDBObject("friends.mappings", 
                                    new BasicDBObject(clustername, clusterid)));
WriteResult result = collection.update(updateQuery, updateCommand,false,true);
如果有人能告诉我自己做错了什么,我会很感激。我假设它的东西非常明显!

P.s我正在使用最新的驱动程序和最新的MongoDB

1 个答案:

答案 0 :(得分:0)

检查您的数据库是否为“上限”(即使用上限创建:“true”)