使用mongoose和node.js查询后存储变量数据

时间:2012-01-05 20:14:34

标签: javascript node.js mongodb express mongoose

我的代码在app.js

    var Song = db.model('Song');
    var Album = db.model('Album');

我想向index.jade呈现2个变量list of songlist of album
我使用这样的查询

Song.find({}, function( err, docs ){
// .........
}
Album.find({}, function( err, docs ){
// .........
}

那么,我应该怎么做才能将list of songlist of album存储到variables并使用2个列表呈现给index.jade

1 个答案:

答案 0 :(得分:1)

我认为你的意思是这样的:

function( req, res ) { // whatever your "controller" function is
  Song.find({}, function( err, songs ){
    Album.find({}, function( err, albums ){
      res.render('index', { song_list: songs, album_list: albums });
    });
  }); 
}

然后只需迭代并标记模板中的song_listalbum_list数组。

请注意,这是同步的,因此比异步方法慢,但它应该做你想要的。要转到异步路由,请考虑使用这样的库来推迟res.render,直到完成两个查询:https://github.com/kriszyp/promised-io