0
我有個大問題。 我想遍歷集合的結果集和每個集合我想找到一個結果。Express JS MongoDB for each找到
這看起來是這樣的:
router.get('/', function(req, res) {
var floors = [];
var rooms = [];
req.db.collection('floors').find().sort({_id: 1}).forEach(function(floor) {
floors.push(floor);
});
req.db.collection('rooms').find().sort({_id: 1}).forEach(function(room) {
req.db.collection('floors').findOne({_id: new ObjectID(room.floorId)}, function(error, floor) {
room.floor = floor;
rooms.push(room);
});
});
res.render('rooms', { floors: floors, rooms: rooms });
});
的問題是,之前迭代完成的頁面將被渲染。 我試圖使用異步和承諾,但我沒有得到它運行。
它因爲res.render('房間...在回調之外,在兩者之間向上移動}); – FluffyNights
這是行不通的,因爲然後渲染將被稱爲多次(對於每個' –
你使用哪種mongo驅動程序? –