Mongoose:将find()的结果显示为表

Mongoose:将find()的结果显示为表,mongoose,Mongoose,我正在寻找一个非常简单的示例,说明如何将此代码的输出转换为HTML,并通过Jade显示 var server1 = Server.find({}, function(err, docs) { if (!err){ console.log(docs); } else { throw err;} } ); res.ren

我正在寻找一个非常简单的示例,说明如何将此代码的输出转换为HTML,并通过Jade显示

var server1 = Server.find({},
            function(err, docs) {
            if (!err){ 
               console.log(docs);
                      }
            else { throw err;}
            }
    );
 res.render('servers', { title: 'verify', results: server1});
}
我的jade模板包含以下内容:

table
  each result in results
    tr
      td= result.name
      td= result.os
但是,我得到了这个错误:无法读取未定义的属性'name'

如果我只尝试“result”,我会得到一堆MongoDB设置

当我加载页面时,我的console.log看起来像这样,所以我知道我正在从数据库中提取虚拟数据,但我无法让它显示在Jade中:

{osVersion:'GBGB', os:'BGB', 名称:“BGB”, _id:52e1574c10abec5571b99be2, __v:0, 许可证:[], createdOn:Thu Jan 23 2014 12:54:20 GMT-0500(美国东部时间)}, {osVersion:'h', os:‘h’, 名称:‘h’, _id:52e15e5510abec5571b99be3, __v:0, 许可证:[],
createdOn:Thu Jan 23 2014 13:24:21 GMT-0500(EST)}

您需要从回调函数内部调用
res.render

var server1 = Server.find({},
        function(err, docs) {
        if (!err){ 
            res.render('servers', { title: 'verify', results: docs });
                  }
        else { throw err;}
        }

);
Server.find()
的返回值不是查询的结果,查询的结果将传递给回调函数

var server1 = Server.find({},
        function(err, docs) {
        if (!err){ 
            res.render('servers', { title: 'verify', results: docs });
                  }
        else { throw err;}
        }

);

queries()上的Mongoose文档页面有很多关于
find()
函数的好例子

这似乎效果相当不错

exports.index = function(req, res){
  Server.find({},
    function(err, docs) {
      if (!err){ 
          res.render('servers', { title: 'verify', results: docs});
      }
      else { throw err;}
    }
  );
}
然后我的翡翠文件看起来像这样:

  table
    each result in results
      tr
        td #{result.name}
        td #{result.os}
        td #{result.createdOn}

谢谢你的解释。mongoosejs.com文档的目标似乎是那些对JavaScript有丰富经验的人。不幸的是,那不是我。