我试图将MongoDB员工集合显示为Pug。我知道它与第一个'数据有关。宾语。我无法弄清楚如何在数组中呈现数据。
MongoDB集合:
{
"data":[
{
"active":true,
"userName":"example",
"employeeDetails":{
"personalDetails":{
"firstName":"Dennis",
"lastName":"Glover",
"emailAddress":"example@example.com"
}
}
},
{
"active": false,
"userName": example2,
"employeeDetails": {
"personalDetails": {
"firstName": "Ben",
"lastName": "Dover",
"emailAddress": "example2@example.com"
}
}
},
]
}
快递:
MongoClient.connect(url, function(err, db) {
if (err) {
console.log('Unable to connect to the Server', err);
} else {
console.log('Connection established to', url);
var employeecollection = db.collection('employees');
// Find all employees
employeecollection.find({}).toArray(function(err, employeeResult) {
if (err) {
res.send(err);
} else if (employeeResult.length) {
res.render('employeelist', {
'employeelist': employeeResult,
});
} else {
res.send('No documents found');
}
db.close();
});
};
});
帕格:
table
each employee in employeelist
tr#employee_list_item
td #{employee.userName}
我已经摆弄了它使用ng-repeat使用Angular2,但是我似乎无法在Pug中渲染它,除非我删除了数据'数组中的对象(需要在那里)。
答案 0 :(得分:1)
我可以看到employeelist[0].data
是你想要迭代的数组。
将employeelist
更改为employeelist[0].data
table
each employee in employeelist[0].data
tr#employee_list_item
td #{employee.userName}
更新。替代方法:
正如Mohit建议的那样,如果您从路线本身发送,那么您的原始代码将起作用。
// Find all employees
employeecollection.find({}).toArray(function(err, employeeResult) {
if (err) {
res.send(err);
} else if (employeeResult.length) {
res.render('employeelist', {
'employeelist': employeeResult[0].data,
});
} else {
res.send('No documents found');
}
db.close();
});
然后,在您看来: 的帕格强>
table
each employee in employeelist
tr#employee_list_item
td #{employee.userName}
希望这能帮到你!