玉鬼的财产

模板:

p= user 

输出:

 <p>{ admin: "true", human: "Foo Bar" }</p> 

(在其他一些通常不被用户看到但用于渲染布局的不同部分(取决于各种因素)的其他东西之中)

模板:

 p= user.human 

输出:

 <p>Foo Bar</p> 

如预期的那样。 但是,模板:

 p= user.admin 

输出:

 <p></p> 

我不知道这怎么可能。 当我输出整个对象时,属性就在那里,但是当我尝试输出那个属性的时候它就消失了。

我也尝试使用user['admin']而不是user.admin ,但是这也不起作用。

第一个问题:这是怎么发生的? 第二个问题:我该如何解决?

更新1:模式p #{user.admin}具有相同的效果,并且p= user.admin.toString()导致声明'user.admin' is not defined的500错误'user.admin' is not defined 。 此外, JSON.stringify(user.admin)也会导致空p标记(如在p= user.adminp #{user.admin}

更新2: p= JSON.stringify(user) 确实输出'admin'属性: {"admin":"true","human":"Foo Bar"}但是迭代each value,key in user ,输出'admin'属性。 在这种情况下,输出非常长,因为它包含了一堆函数和其他东西,但是我用ctrl + f来search输出并找不到'admin'。

这可能是因为admin的值被解释为布尔值。 有些事情要尝试:

 p #{user.admin} 

要么

 p= user.admin.toString() 

请尝试以下

 each value, key in user p #{value} [#{key}] 

“pipe理”得到输出吗?

好的,这是什么错误:

我正在检索具有“admin”属性集的Mongoose对象,但Schema实际上并没有真正指定“admin”属性。 我不太确定Jade是如何挑选它的,但是Mongoose显然对“pipe理员”属性是什么以及如何处理这个问题感到非常困惑。

解决scheme是简单地添加'pipe理':'string'我的mongoose.Schema对象。

感谢戴夫和朱利安国王对你的帮助。 我已经提出了你的两个答案,因为他们确实帮助我得出了这个结论(以及你的意见,但是你没有得到那些我害怕的代表)。