我正在尝试重载一个方法,允许它在一次多次更新中增加多个文档的计数以优化数据库访问。当前(单次更新)方法如下所示:
static synchronized void updateDb(String col, DBObject oldDoc) {
DBCollection collection = database.getCollection(col);
BasicDBObject inc = new BasicDBObject().append("$inc", new BasicDBObject().append("count", 1));
collection.update(new BasicDBObject().append("url",oldDoc.get("url").toString()), inc);
}
现在我已经研究了 update multi 和 bulk.find.update() 但还没有找到解决方案。基本上,我想将 DBObjects 的(线程安全的)双端队列交给新方法,并让 DB 完成其余的大部分工作。
PS:我遇到的问题是,我无法通过简单的查找/查询来解决,而是有一个要查询的 url 集合(最佳双端队列)。
有什么建议吗?