我在Express框架下使用hbs
模块用于Handlebars:
var hbs = require('hbs');
app.set('view engine', 'html');
app.engine('html', hbs.__express);
设置我的视图var如下:
userModel.find({
twitter: username
}, function(err, profile){
if(err){
return next(err);
}
res.render('profile.html', {
profile: profile
});
});
如果我在模板中执行此操作:
{{profile}}
我明白了:
{ name: 'xxxxx', twitter: 'xxxxx', avatar: 'xxxxxxxx', _id: 531cd64568282e0000000001, __v: 0, links: [], booked: [] }
然而,如果我做一些简单的事情:
<p class="profile-name">{{profile.name}}</p>
在同一个文件中,没有输出!?有什么想法吗?
答案 0 :(得分:1)
使用.lean()
,它可以正常工作
答案 1 :(得分:0)
仅供参考,这似乎可以解决问题:
userModel.findOne({
twitter: username
}).lean().exec(function(err, profile) {