MongoDB FindAndModify очень медленно
Я использую 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;
}
заранее спасибо!