node.js - 在 Jade 中迭代 Mongoose 属性

标签 node.js mongoose pug

我正在尝试从 Mongoose 对象输出属性列表,但我也得到了很多 Javascript 辅助函数。我想知道是否有一种干净的方法来输出我的 Mongoose 架构属性。

我的 Jade 显示代码如下所示:

h4 Legacy data
ul
- each val, key in d.old
    li= key + ": " + val

我的 Mongoose 模式定义是

Entry = new Schema({
    old : {
        submitter : String,
        table     : String,
        wordid    : Number
    }
});

但是当页面渲染时,还会同时输出一堆其他 Javascript 属性和函数。例如

_scope: [object Object]
toObject: function () { return this.get(path); }
wordid: 2035
...

有没有一种简单的方法可以迭代我的架构中的属性? 我可以使用指定的列表,但我想知道是否有更好的方法。

实际上,我该怎么写指定的方式呢?在 ruby​​ 中,我知道我可以做 [ 'wordid', 'submitter' ].each 但 Jade 中有等效的吗?

最佳答案

您遇到了对象的原型(prototype)属性。您可以使用 .hasOwnProperty

过滤掉它们
- each val, key in d.old
- if(d.old.hasOwnProperty(key))
    li= key + ": " + val

关于node.js - 在 Jade 中迭代 Mongoose 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7283005/

相关文章:

r - 从node.js调用shell脚本

mongodb - 具有多个支付提供商的商店计费模式设计

node.js - 如何动态设置 Jade 模板的布局以在 Node.js/Express 3.0 中扩展?

templates - Jade - 从不同目录加载模板

node.js - 解析请求体禁止请求签名验证

javascript - 通过中间件以express方式访问get请求

javascript - 如何使用 Cmder 在 Windows 计算机上运行时 (process.env.SERVER) 运行 npm 变量?

javascript - 在 for 循环中链接 Mongoose promise

javascript - 我想从 MongoDB 文档返回特定字段值,但我不断将 [object Promise] 作为返回值

javascript - 如何将 Jade 字符串插值传递给 JS 脚本文件?