Javascript 使用mongo/mongoose的express中的全局变量

Javascript 使用mongo/mongoose的express中的全局变量,javascript,node.js,express,mongoose,Javascript,Node.js,Express,Mongoose,我使用res.locals来使用express生成全局变量 示例: app.use(function(req, res, next){ res.locals.currentUser = req.user; res.locals.error = req.flash("error"); res.locals.success = req.flash("success"); next(); }); 我如何制作类似于: Topics.find(); // Using mo

我使用res.locals来使用express生成全局变量

示例:

app.use(function(req, res, next){
    res.locals.currentUser = req.user;
    res.locals.error = req.flash("error");
    res.locals.success = req.flash("success");
    next();
});
我如何制作类似于:

Topics.find(); // Using mongoose
查找所有主题,然后将其存储在
应用程序内的
res.locals
中。是否使用

用类似

app.use(async function(req, res, next){
    try {    
        res.locals.currentUser = req.user;
        res.locals.error = req.flash("error");
        res.locals.success = req.flash("success");
        res.locals.topics = await Topics.find().lean();
        next();
    } catch (err) { 
        next(err);
    }
});

是否要缓存查找结果?如果是这样的话,只需在应用程序范围之外添加一个包含存储值的变量即可。如果要刷新缓存的结果,只需设置一个间隔