如何将多个集合数据从mongodb呈现到节点js中的页面

时间:2015-11-19 10:01:33

标签: javascript node.js mongodb express

我在向页面呈现多个集合时遇到问题。我做了很多研究,但收到的错误就像在查看目录中查找失败一样 我的代码正在关注

router.get('/', function(req, res, next) {
MongoClient.connect(url, function (err, db) {
if (err) {
        console.log('Unable to connect to the mongoDB server. Error:', err);
} else {
db.collection('book', function(err, collection1) {
collection1.find().toArray(function(err, items) {
db.collection('category', function(err, collection) {
collection.find().toArray(function(err, citems) {
res.send('pages/home', {title:'Express',itm:items,citm:citems});
});
});
});
});
 }
});

enter image description here enter image description here

4 个答案:

答案 0 :(得分:1)

您的查看位置问题,路径pages/home无法找到

首先尝试调试,现在不要考虑mongodb。但是如果你想调试mongodb查询 - 只需登录你的itemscitems

答案 1 :(得分:1)

在app.js中,您可以将视图设置为如下所示:

app.set('views', [__dirname + 'views', __dirname + 'views/pages']);

和您的回复:

res.render('home',{title:'Express',itm:items,citm:citems});

答案 2 :(得分:0)

试试这个(我假设你使用的是express.js和jade)

res.render('./ pages / home',{title:'Express',itm:items,citm:citems});

答案 3 :(得分:0)

在app.js中,请添加以下代码

app.set('views', path.join(__dirname, 'views'));
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'ejs');

希望这有帮助,谢谢..!