Java,MongoDB:如何在迭代一个巨大的集合时更新每个对象?
我收集了大约 100 万条记录,每条记录有 20 个字段。我需要更新每条记录(文档)中的整数字段,为此字段随机分配1或2。如何在迭代光标覆盖整个集合时执行此操作?为了能够更新它而第二次搜索MongoDB已经找到的对象似乎不是一个好主意:flag
flag
DBCursor cursor = coll.find();
try {
while(cursor.hasNext()) {
BasicDBObject obj = (BasicDBObject) cursor.next();
...
coll.update(query,newObj)
}
} finally {
cursor.close();
}
如何有效地更新具有不同值的巨大MongoDB集合的每个文档中的字段?