【问题标题】:Cannot read property of undefined - NodeJS, Express, Mongoose无法读取未定义的属性 - NodeJS、Express、Mongoose
【发布时间】:2012-08-16 13:33:22
【问题描述】:

我有这两个功能

exports.list = function (req, res){
Material.find(function(err, materials) {
    res.render('materials/list', {title: 'Pagina Materiali', materials: materials});
});
}

exports.modify = function (req, res){
Material.findById(req.params.id, function(err, materials){
    res.render('materials/edit', {title: 'Pagina materiale singolo', materials: materials});
});
}

第一个工作正常,我用这个 Jade sn-p 循环它:

each material in materials
    p Nome materiale: #{material.m_name} | Tipo materiale: #{material.type} | 
     a(href='materials/edit/#{material.id}') Modifica Materiale

但我无法让第二个工作,Express 告诉我它无法读取未定义的属性。如果我在控制台中查看结果或只是返回它,我可以看到它选择了正确的值,只是我无法在模板中正确显示它。 有什么帮助吗?谢谢!

【问题讨论】:

    标签: javascript node.js express mongoose


    【解决方案1】:

    findById 按 id 查找单个文档。您尝试将每个它作为对象数组。

    你在节点中需要这样的东西:

    Material.findById(req.params.id, function(err, material){
        res.render('materials/edit', {title: 'Pagina materiale singolo', material: material});
    });
    

    玉石:

    p Nome materiale: #{material.m_name} | Tipo materiale: #{material.type} | 
      a(href='materials/edit/#{material.id}') Modifica Materiale
    

    【讨论】:

      猜你喜欢
      • 2021-05-24
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 2017-03-06
      相关资源
      最近更新 更多