MongoDB没有在浏览器中显示结果,而是在控制台中显示

eqqqjvef  于 2023-11-17  发布在  Go
关注(0)|答案(1)|浏览(159)

我运行下面的代码作为我的路由器:

let mongoose = require('mongoose');
// connect with our model
let ByProduct = require('../models/Byproduct')
router.get('/',(req,res,next)=>{
    ByProduct.find().then((err,ProductList)=>{
        if(err)
        {
            return console.error(err);
        }
        else
        {
            //console.log("Hello world");
            res.render('Byproduct', {title: 'Product List', productList: ProductList})
        }
    });
});
module.exports = router;

字符串
路由器显示我在控制台的结果,但不是在浏览器,它不渲染我的'副产品'页面。如果我只使用旧版本的查找和忽略,然后它显示我的错误,发现没有更多的工作与回调,任何帮助将不胜感激,

hec6srdp

hec6srdp1#

修改你的代码,使用async/await模式和try/catch来更好地处理错误,如下所示:

router.get('/', async (req,res,next)=>{ //< Mark function as async
   try{
      const productList = await ByProduct.find(); //< Use of await keyword
      res.render('Byproduct', {
         title: 'Product List', 
         productList: productList
      });
   }catch(err){
      console.error(err);
      //Handle error
      res.render('Byproduct', {
         error: 'Error on server'
      });
   }
});

字符串
如果你的视图文件Byproduct仍然没有显示在浏览器中,那么你的问题可能与你的视图引擎有关。如果是这种情况,那么请发布你的ejs/tubebars/pug或任何你正在使用的模板包以获得调试帮助。

相关问题