Извините за плохой заголовок - я не знаю, как его отформатировать.Я объясню свой вопрос.
Итак, у меня есть этот req.user:
Я хочу создать промежуточное ПО, чтобы я могпроверьте, имеет ли пользователь доступ к этому региону, проверив, совпадает ли какой-либо из кодов из req.user.privileges.region с тем, что у меня есть в БД (1 для администраторов).
middleware.access2 = function(req, res, next)
{
if(req.isAuthenticated())
{
User.findOne({'username': req.user.username, "privileges.region": {$in: [1, req.body.regiune]}}, function(err, usr)
{
if(err)
{
console.log("middleWare.access2 - " + err);
return res.redirect("/login");
}
else
{
if(usr !== null)
{
console.log(usr);
return next();
}
else
{
return res.redirect("/login");
}
}
})
}
}
Есть ли способ сделать это без итерации?Я могу создать массив с регионами, которые есть у пользователя (из req.user), и передать его в запрос.
Могу ли я каким-то образом получить доступ к privileges.region, чтобы мне не требовалась итерация, или я должен использовать приведенную выше идею?
Спасибо.