#mongodb #mongoose
#mongodb #mongoose
Вопрос:
Мне пришлось переписать некоторые функции, которые используют mongodb с mongoose. У меня есть функция, которая выполняет функцию findAndCount() из mongodb, но я не могу найти идентификатор для mongoose. Прямо сейчас я использую этот фрагмент кода:
const [totalItems, items] = await Promise.all([
model.estimatedDocumentCount(),
model
.find({
...where,
...(dateQuery amp;amp; { createdAt: { ...dateQuery } }),
})
.skip(_limit * (_page - 1))
.limit(_limit)
.sort(sort)
.populate(populate)
.select(select),
]);
Но я обнаружил, что estimatedDocumentCount() предназначен для всей коллекции, допустим, например, в коллекции есть 4 сохраненных документа, но затем появляется какой-то тип фильтра where и возвращаемый результат.find() — это один элемент, estimatedDocumentCount по-прежнему возвращает 4, и я не могу рассчитать правильную разбивку на страницы. Для использования .длина это не вариант, потому что есть пропуск и ограничение
Мой вопрос в том, могу ли я каким-то образом получить количество для всех документов, которые соответствуют фильтру? Заранее спасибо!