Как я могу отобразить страницу после того, как один запрос (найти или сохранить) выполняется на Mongodb - PullRequest
0 голосов
/ 13 апреля 2020

Я новичок в MongoDB. Я написал код, в котором я ищу данные из базы данных, он отлично работает для первого поиска и дает результат, но после того, как результат достигнут, тогда, если я снова выполню какой-то запрос, то он не работает, то есть продолжает рендеринг страница, на которой выполняется запрос. Ниже приведен фрагмент кода.

app.get('/problems/:a?',(req,res)=>{
var getpath = req.params.a;
    problemModel.find({path:getpath},function(err,data){
    if(err) throw err;
    res.render(''+getpath,{record:data[0]});
    conn.close();
    });

});

Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 13 апреля 2020

Вот ваше решение. При использовании асинхронных / ожидающих операторов вместо обратных вызовов код становится чище.

app.get('/problems/:path', async (req, res) => {
   const { path } = req.params; // Equal to "const path = req.params.path"

   try {
      const data = await problemModel.find({ path: path });

      res.render(path, { record: data[0] });
   } catch (e) {
      res.render('path-to-error-page');
   }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...