繁体   English   中英

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

[英]how to render multiple collections data to page in node js from mongodb

我在向页面呈现多个集合时遇到问题,我做了很多研究,但是遇到了类似以下错误:无法在我的代码遵循的views目录中查找view

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

在此处输入图片说明 在此处输入图片说明

您的视图位置存在问题,无法通过路径pages/home

首先尝试调试,现在不要考虑mongodb。 但是,如果您想调试mongodb查询-只需登录控制台, citems itemscitems

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

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

以及您对以下内容的回复:

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

试试这个(我假设您正在使用express.js和jade)

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM