Mongo / Java findAndReplace不工作
我有像这样的Mongo系列
email{
"isConfirmed" : true/[or false]
"email" : "xxxxxxxxxxx"
}
当我尝试将isConfirmed
字段更新为true或false时,取决于显然是唯一的电子邮件,需要很长时间。
我使用的编程语言是Java
这是我的代码。
List<String> clientEmails = new ArrayList<String>();
Mongo mongoConnection = new Mongo();
DB mongoDatabase = mongoConnection.getDB(DB_NAME);
DBCollection mongoCollection = mongoDatabase.getCollection(COLLECTION_NAME);
int size = clientEmails.size();
for(int i=0;
i
<
size; i++)
{
BasicDBObject query = new BasicDBObject();
System.out.println(clientEmails.get(i).toString());
query.put("email.email", clientEmails.get(i).toString());
BasicDBObject Update = new BasicDBObject("$set", new BasicDBObject("email.isConfirmed", false));
mongoCollection.update(query, Update);
这个需要很长时间才能完成包含大约3500个条目的集合]
//mongoCollection.findAndModify(query, Update);
即使findAndModify根本不起作用,我也不确定我是否遗漏了一些东西
但是,我尝试使用DBcursor,它可以工作,但运行大约需要3分钟。
// DBCursor cursor = mongoCollection.find(query);
//
// while(cursor.hasNext()){
// BasicDBObject Update = new BasicDBObject("$set", new BasicDBObject("email.isConfirmed", true));
// mongoCollection.update(cursor.next(), Update);
// }
此方法大约需要3分钟。有人可以建议我解决方法或什么?
没有找到相关结果
已邀请:
2 个回复
苏髓骗撩
先对冈蒲