В новой версии Mongoose 8 был удалён метод count()
пятница, 10 ноября 2023 г.
В новой версии Mongoose 8 был удалён метод count() в моделях. Это решение было принято разработчиками Mongoose с целью стандартизации и упрощения API.
Вместо метода count(), рекомендуется использовать метод countDocuments() или estimatedDocumentCount() для получения количества документов, удовлетворяющих заданному условию.
countDocuments(): Этот метод возвращает общее количество документов, удовлетворяющих заданному условию фильтрации. Например:
const count = await Model.countDocuments({ age: { $gt: 18 } });
console.log(count);
estimatedDocumentCount(): Этот метод использует статистические данные для оценки общего количества документов в коллекции без выполнения фактического подсчета. Например:
const count = await Model.estimatedDocumentCount();
console.log(count);
Обратите внимание, что countDocuments() и estimatedDocumentCount() возвращают промисы, поэтому вам необходимо использовать await или обработку промисов для получения результата.
Таким образом, хотя метод count() был удалён в версии 8 Mongoose, вместо него теперь предоставляются более функциональные и гибкие методы countDocuments() и estimatedDocumentCount().
Александр
Fullstack-разработчик в МосквеПрофессиональная разработка веб-приложений на Node.js с использованием Express. Создание, продвижение, поддержка и обслуживание Веб-проектов. Эффективно, прибыльно.