Mongoose:将find()的结果显示为表
我正在寻找一个非常简单的示例,说明如何将此代码的输出转换为HTML,并通过Jade显示Mongoose:将find()的结果显示为表,mongoose,Mongoose,我正在寻找一个非常简单的示例,说明如何将此代码的输出转换为HTML,并通过Jade显示 var server1 = Server.find({}, function(err, docs) { if (!err){ console.log(docs); } else { throw err;} } ); res.ren
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有丰富经验的人。不幸的是,那不是我。