Node.js 使用mongodb和nodejs将多个集合发送到一个ejs文件
我只想获取多个集合的数据,然后将其传递到index.ejs文件,以便在那里使用这些数据。 我知道多次使用res.render()是行不通的,但我已经尝试过很多方法,比如将创建的数据保存到变量,创建这些对象等等,但都没有Node.js 使用mongodb和nodejs将多个集合发送到一个ejs文件,node.js,mongodb,mongoose,collections,ejs,Node.js,Mongodb,Mongoose,Collections,Ejs,我只想获取多个集合的数据,然后将其传递到index.ejs文件,以便在那里使用这些数据。 我知道多次使用res.render()是行不通的,但我已经尝试过很多方法,比如将创建的数据保存到变量,创建这些对象等等,但都没有 工作。在get响应中,您应该只呈现一次索引页,将所有参数一起传递 app.get('/index', function(req, res){ Activities.find({}, function(err, activity){ if
工作。在get响应中,您应该只呈现一次索引页,将所有参数一起传递
app.get('/index', function(req, res){
Activities.find({}, function(err, activity){
if(err){
console.log(err);
}else{
res.render('index', {activities:activity});
}
});
Upcoming.find({}, function(err, upcomingActivity){
if(err){
console.log(err);
}else{
res.render('index', {upcoming:upcomingActivity});
}
});
});
它将以这种方式工作,因为您只有几个集合,但另一种方法是将其作为全局对象传递,然后呈现它。在get响应中,您应该只呈现一次索引页,将所有参数一起传递
app.get('/index', function(req, res){
Activities.find({}, function(err, activity){
if(err){
console.log(err);
}else{
res.render('index', {activities:activity});
}
});
Upcoming.find({}, function(err, upcomingActivity){
if(err){
console.log(err);
}else{
res.render('index', {upcoming:upcomingActivity});
}
});
});
它将以这种方式工作,因为您只有几个集合,但其他方法是将其作为全局对象传递,然后进行渲染。首先使用两个结果集生成一个对象,并将该对象与视图一起发送。我希望这将解决问题。首先使用两个结果集生成一个对象,并将该对象与视图一起发送。我希望这会解决问题解决问题