出现此错误。你知道怎么解决吗?
Object from MongoDB:
...
"name" : true,
"address" : {
"zip" : "BH9AXX",
...
对数据库的请求:
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}时,一切正常工作。
user.address
是未定义的(至少在某些情况下),因此尝试访问jade文件中的user.address.zip
会导致错误。
可能的解决方案包括:
-
也许地址不是数据库模式中的必需字段,或者允许未定义。
-
您可以在调用
res.render()
之前添加代码,检查user.address
是否未定义。如果是,则设置为默认值(例如将zip
设置为空字符串的对象)。