我正在尝试显示从数据库中检索到的数据(我使用的是node.js express和mongodb),但我需要的数据成功显示在控制台中,但是我需要在前端输出它在玉的一面。
我检索的数据:
{
date: Thu, 02 Aug 2012 07:47:19 GMT,
name: 'user1',
_id: 501a3087f7dd1e3863000001,
desc: {
age: '2'
}
}
检索上述数据并呈现给用户页面的函数:
function(req, res){
memberModel.findOne({desc: {age: '2'}}, function(err, docs){
res.render('user.jade', { members: docs });
console.log(docs);
});
};
这是用于显示年龄为2的用户的user.jade文件:
thead
tr
th Name
tbody
- members.forEach(function(member){
tr
td= member['name']
- })
我得到以下错误:
500 TypeError:
th Name 12| tbody > 13| - members.forEach(function(member){ 14| tr 15| td= member['name']
16| - }) Object { date: Thu, 02 Aug 2012 07:47:19 GMT, name: 'user1', _id:
501a3087f7dd1e3863000001, desc: { age: '2' } } has no method 'forEach'
所以我不能用forEach来显示数据?我该怎么办才能展示它?感谢任何帮助,提前谢谢!
答案 0 :(得分:1)
如果要显示成员列表
服务器:
memberModel.find({desc: {age: '2'}}).toArray( function(err, docs){
res.render('user.jade', { title: 'Svenska Spel - Member list', members: docs });
console.log(docs);
});
玉:
for member in members
td= member.name
如果你想只展示一个男人
服务器:
function(req, res){
memberModel.findOne({desc: {age: '2'}}, function(err, docs){
res.render('user.jade', { title: 'Svenska Spel - Member list', member: docs });
console.log(docs);
});
};
玉:
thead
tr
th Name
tbody
tr
td= member['name']
答案 1 :(得分:0)
使用find()代替findOne()
解决function(req, res){
memberModel.find({desc: {age: '2'}}, function(err, docs){
res.render('user.jade', { members: docs });
console.log(docs);
});