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驱动程序? –