数据已获取但未在浏览器中显示

时间:2019-06-22 13:59:22

标签: node.js express mongoose handlebars.js

我正在尝试从mongodb中检索数据并将其显示在网站上。把手用于模板。数据已成功获取,可以通过在控制台上进行打印进行验证。

但是数据没有显示在浏览器上。以下是我的代码的主要片段。

任何帮助将不胜感激。

  

routes / index.js

    const route=require('express').Router();
var mongoose=require('mongoose');
var azhwars=require('../models/azhwars');

route.get('/',function(req,res) {
    azhwars.find({},function (err, azhwars) {
        if(err) {
            return err;
        }
        console.log(azhwars.toString());
    });
    res.render('pages/home',{'title':"My Website",'azhwarsList':azhwars});
});

module.exports=route;
  

models / azhwars.js

var mongoose=require('mongoose');

var AzhwarsSchema=new mongoose.Schema({
    name: String
});

module.exports=mongoose.model('Azhwars',AzhwarsSchema);
  

views / pages / home.hbs

{{#each azhwarsList}}
    <p>some {{name}}</p>
{{/each}}

1 个答案:

答案 0 :(得分:0)

我自己知道了。 route / index.js中存在逻辑错误

 res.render('pages/home',{'title':"My Website",azhwarsList:azhwars});

以上应该在find方法中调用。

const route=require('express').Router();
var mongoose=require('mongoose');
var azhwars=require('../models/azhwars');

route.get('/',function(req,res) {
    azhwars.find({},function (err, azhwars) {
        if(err) {
            return err;
        }
        console.log(azhwars.toString());
        res.render('pages/home',{'title':"My Website",azhwarsList:azhwars});
    });

});

module.exports = route;