Java + MongoDB:以文档数量更新字段

时间:2016-01-29 10:45:01

标签: java mongodb

我正在尝试立即更新文档数量的字段,我想修改 "md5"其中java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(Unknown Source) 位于列表中。当我运行代码时,它会引发异常:

//the list is an list of "md5"

List<BasicDBObject> updateCondition=new ArrayList< BasicDBObject>(list.size());  
for(int i = 0 ; i < list.size(); i++) {
    updateCondition.get(i).put("md5", list.get(i));
    DBObject updatedValue=new BasicDBObject();  
    updatedValue.put("download", 0);   
    DBObject updateSetValue=new BasicDBObject("$set",updatedValue);               
    vt_col.update(updateCondition.get(i), updateSetValue);  
} 

这就是我在做的事情:

 updateCondition.get(i).put("md5", list.get(i));

例外情况发生在:

VerifyError: Error #1014: Class com.afterisk.shared.ane.lib::GCMEvent could not be found

我想要你的帮助,谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

Debug会在这里帮到你很多,我不能说100%准确,但我认为你updateCondition可能是空的。

您正在尝试访问updateCondition(0)...但您只需使用以下命令创建它:

new ArrayList< BasicDBObject>(list.size()); 

抛出异常是因为列表中没有任何对象,首先必须将列表复制到updateCondition列表。

希望它有所帮助。