Почему метод mfoose .find ({}) вообще ничего не делает? - PullRequest
0 голосов
/ 15 июня 2019

Проблема:

У меня есть базовый экспресс-сервер с моделью мангуста.

Я называю api / api / forums / all, и он должен получить все документы форума из модели 'forum'.

Когда я это называю, это вообще ничего не делает.

Вот сам маршрут моего форума:

router.get('/all', (req, res) => {
  // Populating all field we need in the frontend
  // We need: All the forums, with all subForums
  // and for each subForum we need it's posts and last poast

  console.log('trying..');
  const all = await Forum.find({}, (err, forum) => {
    console.log('still trying');
  });

  // .populate({
  //   path: 'subForums',
  //   populate: [{ path: 'lastPost' }, { path: 'posts' }]
  // });

  return res.json(all);
});

Вот что печатается, когда я пытаюсь получить доступ к этому маршруту:

пытается ..

Так что «все еще пытаться» не запускается.

Что я пробовал:

Я изменил функцию, чтобы она выглядела так (с asyinc до (req, res):

try {
    console.log('trying..');
    const all = await Forum.find({})

    console.log('still trying');

    // .populate({
    //   path: 'subForums',
    //   populate: [{ path: 'lastPost' }, { path: 'posts' }]
    // });

    return res.json(all);
  } catch (err) {
    console.log('trying but error');
    return res.json(err);
  }

А также с .exec() в конце метода .find.

Но "все еще пытаться" просто не убежит.

Запрос get с почтальоном выполняется бесконечно.

Я действительно не знаю, в чем проблема может быть на этом этапе.

Ответы [ 2 ]

0 голосов
/ 15 июня 2019

Я нашел ошибку:

Я импортировал файл сеялки, который заполняет базу данных, а затем отключает ее после ее завершения.

Значит, Мангуста больше не было, когда я звонил по любым маршрутам.

0 голосов
/ 15 июня 2019

Попробуй это.При поиске по БД сначала нужно открыть mongodb

MongoClient.connect('url of your database', function(err, db) {
const all = await Forum.find({}, (err, forum) => {
    console.log('still trying');
  });
})
...