出现此错误。 知道怎么解决吗?
来自MongoDB的对象:
...
"name" : true,
"address" : {
"zip" : "BH9AXX",
...
请求db:
exports.getList = function (req, res, next) {
User.find({
user: req.user.id
}, function (err, users) {
if (err) return next(err);
return res.render('list', {
users: users
});
});
};
list.jade:
each user in users
tr
td #{user.name}
td #{user.address.zip}
当不使用#{user.address.zip}时,一切正常。
答案 0 :(得分:1)
user.address
未定义(至少在某些情况下),因此尝试访问jade文件中的user.address.zip
会导致错误。
可能的解决方案包括:
也许地址不是数据库模式中的必填字段,或者允许未定义。如果是这样,也许你可以把它变成必需的。
您可以在调用res.render()
之前添加代码,以检查user.address
是否未定义。如果是这样,请将其设置为默认值(例如将zip
设置为空字符串的对象)。