Я пытаюсь просчитать миллионы документов, и, конечно, я думаю о скорости, поэтому, если бы я мог ограничить свой поиск поиском первых 10 или менее совпадений, тогда я бы хорошоидти. по этой причине я обнаружил, что подсчет в MongoDB может быть более эффективным при использовании метода find
и некоторых подобных ограничений.
db.countTest.find({ a : { $lt: 50 }, b: { $lt:50 }, c: { $lt:50}},
{ _id:1 }).limit(10).count( { applySkipLimit: true } )
в подсчете он не может считаться только по индексам и должен сканировать документы. И это делает счет занимает очень много времени. Но если вы ограничиваете операцию подсчета с помощью applySkipLimit: true
, это считается только ограничением и делает это быстрее.
, но моя проблема в том, что я не могу найти что-нибудь, чтобы сделать это в весенних данных MongoDB, на самом деле я пыталсясоздайте Query
с Criteria
и limit
, но в конце, когда я делаю это
mongoTemplate.count(query, "myCollectionName")
, кажется, что нет никакого способа добавить applySkipLimit
к моему результату. там в любом случае?