我正在使用 mongodb 并且在速度方面遇到了一些问题。我的收藏变得更大,现在包含大约 7.000.000 件物品。因此,findAndModify 查询大约需要 3 秒。我在查询字段上有一个索引(在我的例子中是“链接”,它是一个数组)。有没有人看到一个大失败或低效的代码(见下文)。
public Cluster findAndLockWithUpsert(String url, String lockid) {
Query query = Query.query(Criteria.where("links").in(Arrays.asList(url)));
Update update = new Update().push("lock", lockid).push("links", url);
FindAndModifyOptions options = new FindAndModifyOptions();
options.remove(false);
options.returnNew(true);
options.upsert(true);
Cluster result = mongo.findAndModify(query, update, options, Cluster.class, COLLECTION);
return result;
}
先感谢您!