使用Model.find时,猫鼬返回空值

时间:2019-09-11 21:56:21

标签: mongodb express mongoose

我正在尝试验证作为参数传递到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);
    })

});

0 个答案:

没有答案