And*_*iel 3 javascript mongoose mongodb
我正在尝试使用模板文字进行查询,如下所示:
router.post('/login', middleware.isLoggedOut, function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (err) { return next(err); }
if (!user) { return res.redirect('/login'); }
else
{
console.log(req.body);
var y=0;
User.findOne({'username': req.body.username, `privileges.${y}.region`: req.body.regiuni}, function(err, usr)
{
if(err)
{
console.log(err);
}
else
{
if(usr === null)
{
console.log("no usr");
}
else
{
req.logIn(usr, function(err)
{
if(err)
{
console.log(err);
}
return res.redirect('/users/' + user.username);
})
}
}
})
}
})(req, res, next);
});Run Code Online (Sandbox Code Playgroud)
我真的不知道我应该如何在这里使用模板文字“ privileges.${y}.region”,因为现在它不起作用。我在节点 shell 中得到“意外的模板字符串”,但 vs 代码似乎也没有按照我的意愿解释它,因为它像模板文字一样为代码着色:
: req.body.regiuni}, function(err, usr)
{
if(err)
{
console.log(err);
}
else
{
if(usr === null)
{
console.log("no usr");
}
else
{
req.logIn(usr, function(err)
{
if(err)
{
console.log(err);
}
return res.redirect('/users/' + user.username);
})
}
}
})
}
})(req, res, next);
});
module.exports = router;Run Code Online (Sandbox Code Playgroud)
你需要把它放在括号内,比如
[`privileges.${y}.region`]: req.body.regiuni
Run Code Online (Sandbox Code Playgroud)
这是一个对象,想想你访问它的方式。
你会怎么做
obj.`privileges.${y}.region`?
Run Code Online (Sandbox Code Playgroud)
不,你会使用括号
obj.[`privileges.${y}.region`]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
805 次 |
| 最近记录: |