如何在客户端输出数据?(express+monodb+jade)

How to output data at client side? (express+monogdb+jade)

本文关键字:express+monodb+jade 数据 输出 客户端      更新时间:2024-06-26

我正在尝试显示我从数据库中检索到的数据(我使用的是node.js express和mongodb),但是我需要的数据成功地显示在控制台中,但我需要在Jade的前端输出它。

我检索的数据:

{
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);
    });
};

这是user.jade文件,用于显示年龄为2:的用户

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来显示数据?我应该怎么做才能显示它?感谢您的帮助,提前感谢!

如果您想显示成员的列表

服务器:

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']

使用find()而不是findOne()求解

function(req, res){
    memberModel.find({desc: {age: '2'}}, function(err, docs){
        res.render('user.jade', { members: docs });
        console.log(docs);
});