node.js - node+express的后台,ejs模版引擎,mongodb,在路由中如何把不同表的查询结果render出去?
天蓬老师
天蓬老师 2017-04-17 13:34:56
0
3
506

比如我要做一个博客详情页,我会查文章表,然后将文章标题、作者、内容render出去,这就完成了一个路由请求。但如果我想在同一个页面再显示文章点击量排行榜,就需要另一个查询,如何才能做到render两个或以上mongodb查询的内容?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

reply all(3)
伊谢尔伦

先定义两个不同的查询方法:

var findContent = function(db, callback) {
       var cursor = db.collection('xxx').find({xx,xxx});
       ......(在这里边把content的查询结果放到变量里边)
   }

   var findRanking = function(db, callback) {
       ......(把ranking的查询结果放到变量里边)
   }

MongoClient.connect(url, function(err, db) {
    findContent(db, callback(){});
    findRanking(db, callback(){});
})

router.get('/xxx', function(req, res, next) {
        res.render('ejsFileName', {content: content, ranking: ranking});
})

你可以试试这种方法,我觉得可以满足你的要求

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!