首页 > 解决方案 > 已提取数据但未在浏览器中显示

问题描述

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

但是,数据不会显示在浏览器上。以下是我的代码的关键片段。

任何帮助,将不胜感激。

路线/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;

模型/azhwars.js

var mongoose=require('mongoose');

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

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

视图/页面/home.hbs

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

标签: node.jsexpressmongoosehandlebars.js

解决方案


我自己想通了。路由/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});
    });

});

模块.出口=路线;


推荐阅读