mongodb更新数组元素与$ inc无法正常工作

时间:2014-05-04 19:42:08

标签: java arrays mongodb

当我硬编码值5并更新数组第3个元素时,这很好用:

BasicDBObject setDoc = new BasicDBObject();
setDoc.append("array.3.view_counter", 5);

但是,当我尝试使用$inc更新view_counter而不是以下面的方式对其进行硬编码时 - 我从java驱动程序中获得com.mongodb.MongoException: not okForStorage Exception

setDoc.append("array.3.view_counter", new BasicDBObject().append("$inc", new BasicDBObject().append("view_counter",1)))

我无法弄清楚我做错了什么。任何帮助或线索都非常感谢。

谢谢

1 个答案:

答案 0 :(得分:1)

$inc需要位于对象的顶层,如:

setDoc.append("$inc", new BasicDBObject("array.3.view_counter", 1));