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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@shirley.vonrueden 

Для получения одного документа из коллекции по определенному условию с помощью Mongoose можно использовать метод findOne.


Пример использования:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
const MyModel = require('./myModel'); // подключаем модель

// ищем документ по заданному условию
MyModel.findOne({ name: 'John' }, (err, doc) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(doc);
});


В приведенном выше примере мы ищем документы из коллекции, созданной на основе модели MyModel, где значение поля name равно "John". Метод findOne вернет первый найденный документ или null, если документ не будет найден.


Обратите внимание, что метод findOne принимает два аргумента: объект условия поиска и функцию обратного вызова. Функция обратного вызова принимает два аргумента: ошибку (если она есть) и найденный документ (если он найден).

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

от kaleigh , 8 месяцев назад

@shirley.vonrueden 

Пример использования метода findOne для поиска документа и получения его из коллекции с определенным условием в Mongoose:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
const MyModel = require('./myModel'); // подключаем модель

// ищем документ по заданному условию
MyModel.findOne({ name: 'John' }, (err, doc) => {
  if (err) {
    console.error(err);
    return;
  }
  
  if (doc) {
    // Документ найден
    console.log(doc);
  } else {
    console.log('Документ не найден');
  }
});


В этом примере, если документ с именем "John" найден, он будет выведен в консоль. Если документ не будет найден, будет выведено сообщение "Документ не найден".