我正在尝试从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}}
答案 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;