Сохраняйте переменные данные после запроса с помощью mongoose и node.js - PullRequest
0 голосов
/ 06 января 2012

У меня есть код в app.js

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

Я хочу отрисовать в index.jade с двумя переменными: list of song и list of albumЯ использую запрос как этот

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

Итак, что я должен сделать, чтобы сохранить list of song и list of album в variables и отрисовать в index.jade с 2 списками

1 Ответ

1 голос
/ 07 января 2012

Я думаю, что вы имеете в виду что-то вроде этого:

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_list и album_list в шаблоне.

Обратите внимание, что это синхронно ипоэтому медленнее, чем асинхронный подход, но он должен делать то, что вы хотите.Чтобы пройти асинхронный маршрут, рассмотрите возможность использования библиотеки, подобной этой, чтобы отложить res.render до выполнения обоих запросов: https://github.com/kriszyp/promised-io

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...