Вместо использования этого метода сохранения и извлечения данных в глобальном масштабе. Создайте отдельную карту, которая будет храниться в текущем сеансе, и создайте маршрут, по которому вы хотите показать эти данные.
map.js
var hashmapSession = {};
exports.sess = {
set : function(key, value){
hashmapSession[key] = value;
},
get : function(key){
return hashmapSession[key];
},
delete : function(key){
delete hashmapSession[key];
},
all : function(){
return hashmapSession;
}
};
Теперь используйте существующий код для извлечения данных из базы данных, но вместо этого сохраните его в res.locals
, используйте приведенную выше карту. Например:
var hashmap = require('./hashmap');
app.use(function (req, res, next) {
// Mob Database
db.query('SELECT * FROM mobs').then(results => {
if(results)
hashmap.sess.set('global', results);
});
next();
});
Теперь создайте конечную точку для рендеринга сохраненных данных. Например:
app.get('/showData', function(req, res){
var data = hashmap.sess.get('global');
res.render('main', data);
})
Примечание. Здесь 'main' - это ваш файл main.ejs.