我使用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
中?
答案 0 :(得分:1)
类似
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);
}
});
答案 1 :(得分:0)
您是否要缓存查找结果?如果是这样,只需在包含存储值的应用程序范围之外设置一个变量。如果要刷新缓存的结果,只需设置一个间隔即可。