为什么我的json对象的`email`属性不会显示在我的jade模板中?

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)

k00*_*00k 5

我正在回答我自己的问题,因为它最终成为一种愚蠢和明显的东西(通常是,不是吗?).

使用mongoose时,如果没有显示属性,请确保在mongoose模式中定义了该属性.不知何故,当我创建模式时,我忽略了电子邮件字段,但它没有定义.即使它在数据库中的实际记录中,但是mongoose并不关心,只会向您显示您为对象/模式定义的内容.

感谢大家的努力,如果没有别的,你帮助我得到答案.