Я хочу найти имя схемы

#node.js #mongoose #ejs

Вопрос:

У меня есть коллекция в мангусте. это имя участника, и я использую findOne для поиска такого : var member = findOne(name , (err , docs)=>{console.log(docs)}) а затем я хочу найти больше вещей по элементу var, например : momber.targetNmae в схеме, и это не работает.

Ответ №1:

Вы не должны присваивать значение асинхронной функции, которая ничего не возвращает. Попробуйте использовать async/await, чтобы сделать его более читаемым. Свяжите свой запрос в цепочку после имени коллекции, например:

 User.find();

let doc; 

try {
  doc = await User.findOne({ name: name });
} catch (err) {
  console.log(err);
};
console.log(doc);
 

И без асинхронности/ожидания:

 User.findOne({ name: name }, (err, doc) => {
  if (!err) {
    console.log(doc);
  }
});
 

Комментарии:

1. Спасибо. Я очень стараюсь понять, как работает асинхронность/ожидание, но я не могу понять идею, стоящую за этим.