最近在学习使用express+mongo搭建网站。
在网上看到的说法,一个页面只能render()
一次,但是我的首页需要在三个不同的数据表中读取数据!!!
先看一下页面从一个表中获取数据的render方法:
app.get("/list/web",function(req,res){
Webdb.fetch(
function(err,webs){
if(err){
console.log(err);
}
res.render('web',{title:'web列表页',"webs":webs});
});
})
具体的代码含义不在介绍,“webs”:webs
是向页面传递的内容。
下面看看怎么样同时传递三个数据表中的数据
app.get("/",function(req,res){
Webdb.fetch(
function(err,webs){
if(err){
console.log(err);
}
Takein.fetch(
function(err,takeins){
if(err){
console.log(err);
}
Blog.fetch(
function(err,blogs){
if(err){
console.log(err);
}
res.render('index',{title:'首页', "webs":webs,"takeins":takeins,"blogs":blogs});
})
})
});
});
这里我用到的方法是函数的嵌套,因为.fetch方法传入的是一个callback函数,所以,我觉得嵌套一下可以实现我想要的结果,结果是令人可喜的。
因为是刚开始接触,不知道以上方法是否存在什么bug,希望大神可以评论指点!