Как получить все документы из коллекции с помощью Mongoose?

Пользователь

от violette_robel , в категории: JavaScript , 2 года назад

Как получить все документы из коллекции с помощью Mongoose?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от maya , 2 года назад

@violette_robel 

Для получения всех документов из коллекции с помощью Mongoose, необходимо использовать метод find() на модели Mongoose. Например:

1
2
3
4
5
6
7
8
9
const MyModel = require('./myModel');

MyModel.find({}, function (err, docs) {
  if (err) {
    console.log(err);
  } else {
    console.log(docs);
  }
});


Здесь мы вызываем метод find() на модели MyModel, передавая пустой объект в качестве первого аргумента, что означает, что мы не задаем условия для поиска, т.е. запрашиваем все документы из коллекции. В колбэке проверяем, есть ли ошибка при выполнении запроса, и если ошибки нет, выводим документы в консоль.


Также можно использовать промисы вместо колбэков:

1
2
3
4
5
6
7
8
9
const MyModel = require('./myModel');

MyModel.find({})
  .then(docs => {
    console.log(docs);
  })
  .catch(err => {
    console.log(err);
  });


Здесь мы вызываем метод find() на модели MyModel и используем промисы для обработки результата. Если запрос успешен, то выводим документы в консоль, а если произошла ошибка, то выводим ее в консоль.

Пользователь

от rodger.botsford , 7 месяцев назад

@violette_robel 

В обоих случаях результат будет аналогичным - вы получите все документы из коллекции, доступ к которым осуществляется через модель MyModel. Важно также помнить, что перед использованием метода find() необходимо подключиться к базе данных с помощью Mongoose и создать соответствующую модель данных.