Проблема в том, что вы пишете код Mongoose, как если бы он был синхронным, но вам нужно вызвать res.render внутри функции обратного вызова run, потому что именно тогда выполняется запрос. В вашем примере функция render будет вызвана до того, как запрос вернет результаты.
Кроме того, вы можете передать переменную popmap
как локальную переменную в представление:
app.get('/map/:id', function(req, res){
Map
.findOne({ _id: req.map._id })
.populate('_editors')
.run(function (err, popmap) {
console.log('The editors are %s', popmap._editors);
res.render('maps/show', {
title: req.map.title,
map: req.map,
popmap: popmap // you can access popmap in the view now
});
});
});