一直在看《Node.js实战》这本书,其中第六章涉及到使用express+ejs,在其中渲染模板的时候,一个页面只读取了数据库的一个表的数据来渲染,如果要在一个页面读取两个甚至更多表的数据来渲染怎么做啊?
回调加回调, 多次查询?
@jiyinyiyong 不知道为什么,两次查询后会显示第二次读取的数据未定义,是不是渲染的时候只能用一个json数组啊?
这个就要看代码了
很新手的问题啊。用q,写2个mongoose的查询,一起all出来,再render模板就行了😁 自豪地采用 CNodeJS ionic
无比简单,和一个查询没什么区别。我用bluebird做例子了。
//var Promise = require('bluebird'); route.get('/users/:id', function(req,res,next) { var user = User.findOne({where: {id: req.params.id}); var posters = Poster.findAll({where: {userId: req.params.id}); Promise.join(user, posters, function(userData, userPosters) { res.render('posters.ejs', {user: userData, posters: userPosters}); }).catch(function(err) { next(err); }); });
@klausgao 谢谢解答,已经解决啦!
@eqiuno 非常感谢,写得很详细~
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
回调加回调, 多次查询?
@jiyinyiyong 不知道为什么,两次查询后会显示第二次读取的数据未定义,是不是渲染的时候只能用一个json数组啊?
这个就要看代码了
很新手的问题啊。用q,写2个mongoose的查询,一起all出来,再render模板就行了😁 自豪地采用 CNodeJS ionic
无比简单,和一个查询没什么区别。我用bluebird做例子了。
@klausgao 谢谢解答,已经解决啦!
@eqiuno 非常感谢,写得很详细~