我正在尝试验证作为参数传递到url中的apiKey。然后,通过对猫鼬进行Model.find({})来检查此apiKey是否在数据库中。然后,我有了一个使用key
作为参数的回调函数,如果apiKey在数据库中不存在,我希望该参数为null。
不幸的是,我得到的只是一个空值,该值不会输出到控制台:
请参见下面的代码,但我的控制台将其记录下来,以查看猫鼬返回的键值是空的,而不是null。
key:
current: null
error: null
coffeeRouter.get('/', (req, res) => {
const currentUser = req.user;
const incomingApiKey = req.query['apiKey'];
console.log('Body: ' + incomingApiKey);
User.find({ apiKey: incomingApiKey }, function(err, key) {
console.log('key: ' + key);
console.log('current: ' + currentUser);
console.log('error: ' + err)
if((incomingApiKey === undefined || !key) && !currentUser) {
console.log('unauthenticated');
res.render('display.hbs', {currentUser});
} else {
Coffee.find({})
.then(coffees => {
console.log('authenticated');
console.log(coffees)
res.render('display.hbs', { coffees, currentUser });
})
.catch(err => {
console.log(err.message);
});
}
}).catch(err => {
console.log(err);
})
});