k00*_*00k 1 javascript mongoose node.js express pug
有最奇怪的问题.我无法显示email
对象的属性.我正在使用Mongoose/Express/Jade.我在做:
User.find({ _id : { $in : req.project.subscribers } } , function (err, subs){...
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,并在subs var中返回我的订阅者列表,如下所示:
{ _id: 4f34832b9398bec847000002,
email: 'steve@example.com',
first_name: 'Steve',
last_name: 'McQueen',
status: 'active',
username: 'steve',
updated_at: Fri, 10 Feb 2012 02:38:35 GMT,
created_at: Fri, 10 Feb 2012 02:38:35 GMT,
role: 'subscriber' },
{ _id: 4f3484a9eceb82b548000002,
email: 'paul@example.com',
first_name: 'Paul',
last_name: 'Stanley',
status: 'active',
username: 'paul',
updated_at: Mon, 02 Apr 2012 15:09:56 GMT,
created_at: Mon, 02 Apr 2012 15:09:56 GMT,
role: 'subscriber' }
Run Code Online (Sandbox Code Playgroud)
然后我将它传递给我在称为订阅者的var中的jade视图.到目前为止一切都很好,当我想要在我的jade模板中email
迭代时显示每个订阅者的属性时,问题就出现了subscribers
.email
出于某种原因,这只是一个问题!它没有显示任何内容email
,只是空白.
ul
each sub in subscribers
li= sub.email
Run Code Online (Sandbox Code Playgroud)
如果我替换任何其他属性代替,它工作正常email
.所以以下显示完全正常:
ul
each sub in subscribers
li= sub.username
Run Code Online (Sandbox Code Playgroud)
如果我能提供更多细节,请告诉我.
编辑Declan:
执行以下操作:
ul
each val, key in subscribers
li #{key}: #{val}
Run Code Online (Sandbox Code Playgroud)
产量:
0: { _id: 4f34832b9398bec847000002, email: 'foo', first_name: 'Steve', last_name:
'McQueen', status: 'active', username: 'steve', updated_at: Fri, 10 Feb 2012 02:38:35 GMT,
created_at: Fri, 10 Feb 2012 02:38:35 GMT, role: 'subscriber' }
1: { _id: 4f3484a9eceb82b548000002, email: 'foo', first_name: 'Paul', last_name: 'Stanley',
status: 'active', username: 'paul', updated_at: Mon, 02 Apr 2012 16:05:51 GMT, created_at:
Mon, 02 Apr 2012 16:05:51 GMT, role: 'subscriber' }
Run Code Online (Sandbox Code Playgroud)
我正在回答我自己的问题,因为它最终成为一种愚蠢和明显的东西(通常是,不是吗?).
使用mongoose时,如果没有显示属性,请确保在mongoose模式中定义了该属性.不知何故,当我创建模式时,我忽略了电子邮件字段,但它没有定义.即使它在数据库中的实际记录中,但是mongoose并不关心,只会向您显示您为对象/模式定义的内容.
感谢大家的努力,如果没有别的,你帮助我得到答案.
归档时间: |
|
查看次数: |
1192 次 |
最近记录: |