繁体   English   中英

无法读取未定义的属性-NodeJS,Express,Mongoose

[英]Cannot read property of undefined - NodeJS, Express, Mongoose

我有这两个功能

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片段循环它:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM