Node.js 将MongoDB集合迭代到pug
我试图将MongoDB的员工集合显示到帕格中。我知道这与第一个“数据”对象有关。我不知道如何在数组中呈现数据 MongoDB系列:Node.js 将MongoDB集合迭代到pug,node.js,mongodb,express,mongoose,pug,Node.js,Mongodb,Express,Mongoose,Pug,我试图将MongoDB的员工集合显示到帕格中。我知道这与第一个“数据”对象有关。我不知道如何在数组中呈现数据 MongoDB系列: { "data":[ { "active":true, "userName":"example", "employeeDetails":{ "personalDetails":{ "firstName":"Dennis", "lastName":"Glo
{
"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}
Express:
{
"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}
哈巴狗:
{
"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渲染它。正如我所看到的
employeelist[0]。数据是你想要迭代的数组
将employeelist
更改为employeelist[0]。数据
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}
希望这对你有帮助 你能告诉我console.log(employeeResult)的结果吗?当然,我得到了以下结果:[{id:5892b3ae79fb9d023308dce7,数据:[[对象],[对象],[对象],[对象],[对象],[对象],[对象],[对象],[对象],[对象],[对象],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object],[Object]}谢谢但是,我从Mongoose在浏览器中看到以下错误:无法读取undefinedperhaps的属性“length”,它应该是employeelist[0]。数据?这可以在路由文件本身中修改,以按所需格式发送数据。是,它应该是employeelist[0]。数据。我会更新我的答案。是的,如果数据是从路由本身以所需的格式发送的,那么OP的原始代码就可以工作了。非常感谢,这就解决了它!头发我可以帮你。如果我的答案对你有用,请投我一票。