Требование
Необходимо опросить документы с максимальным приоритетом из коллекции mon go. Перед опросом необходимо отправить количество записей с максимальным приоритетом на другой api, чтобы получить разрешенное количество документов, которые я могу в конечном итоге отправить на api. Я опрашиваю api каждые 100 мс c с количеством документов с максимальным приоритетом
Пытался использовать конвейер агрегации (Spring Data Mon go - Java): -
Aggregation.newAggregation(Aggregation.match(Criteria.where(Field1).exists(true)
.and(Field2).exists(true)),Aggregation.group("priority").count().as("count"),Aggregation.sort(Sort.Direction.DESC, "priority"),Aggregation.limit(1));
Я также добавил индексы для Field1, Field2 и приоритета .
Нужен совет о том, есть ли лучший способ добиться этого, чтобы не возникало проблем с производительностью при большом количестве документы в коллекции, так как я довольно часто опрашиваю коллекцию. Что лучше: использовать Pilpeline агрегации или два запроса: один для получения наивысшего приоритета, а затем для подсчета?