当我遍历我的对象时,一切正常,我可以将它的所有实例呈现给页面。问题是我希望能够选择 一个特定的对象键,其中具有该键的每个对象都将其对应的值呈现给页面。
我的代码在下面有一个更明确的解释
Mongoose.js架构
var synthSchema = mongoose.Schema({
patchName: String,
synths: Object,
});
var SynthObject = mongoose.model('Synth', synthSchema);
Node.js / Express代码
var synthPatch = new SynthObject({})
synthPatch.synths = [{
synth_name: "blah blah",
xpos: 12,
ypos: 23
},
{
synth_name: "more blah blah",
xpos: 02,
ypos: 238
},
]
synthPatch.save(function (err, ok) {
if (err) return console.error(err);
});
app.get('/returnedData', function(req, res){
SynthObject.find({}, function (err, docs) {
res.render('returnedData', {
title: 'Tasks index view',
docs: docs
});
});
});
JADE
table.table
each synth in docs
tr
td #{synth}
ul
以上代码输出(来自MongoDB)
{ synths: [
{ synth_name: 'blah blah', xpos: 12, ypos: 23 },
{ synth_name: 'more blah blah', xpos: 2, ypos: 238 }
],
_id: 5352c4c46f5127d40e7ba8ec, __v: 0
}
好到目前为止一切顺利。上面的代码正是我想要的,所以让我们遍历它并获取键和值
JADE代码
each synthObject in docs
tr
each value, key in synthObject.synths
each v, k in value
td #{k} #{v}
完美......这会输出以下内容
ypos 23 xpos 12 synth_name 'blah blah'
ypos 238 xpos 2 synth_name 'more blah blah'
然而,现在我遇到了我的问题,我想从每个对象中选择所有 synth_name 之类的东西,并输出所有的synth_name 值。我已经尝试了很多东西,但无法让它发挥作用。
答案 0 :(得分:0)
我测试过: http://jade-lang.com/demo/
有效吗?我唯一的区别是使用'docs'代替给定mongo数据的'synths'。
玉石输入
table.table
each synth in docs
tr
td #{synth.synth_name}
<强>当地人强>
{ docs: [
{ synth_name: 'blah blah', xpos: 12, ypos: 23 },
{ synth_name: 'more blah blah', xpos: 2, ypos: 238 }
],
_id: "5352c4c46f5127d40e7ba8ec", __v: 0
}
会产生:
<table class="table">
<tr></tr>
<td>blah blah</td>
<tr></tr>
<td>more blah blah</td>
</table>
答案 1 :(得分:0)
这似乎有效.....暂时
each synthObject in docs
each item in synthObject.synths
li #{item.synth_name} #{item.xpos} #{item.ypos}