首页 > 解决方案 > Async Await mongoDb 总是返回 undefined

问题描述

这是我的异步功能

   async duplicate_email(db, email) {
        await db.collection("users").findOne({ 'email': email }, function(findErr, result) {
            console.log(findErr)
            if (!result) {
                return false
            } else {
                return true
            }
        });
    }

我从另一个文件中这样称呼它:

 middleware.duplicate_email(db, "admin@admin.com").then((answer) => {
        console.log(answer)
    });

答案总是返回未定义,而结果是填充的。

标签: node.jsmongodbexpress

解决方案


async duplicate_email(db, email) {
   let availableEmail =  await db.collection("users").findOne({ 'email': email }) 
       
        if (!availableEmail) {
            return false
        } else {
            return true
        }
    });
}

如果您使用的是异步函数,则不要使用回调。


推荐阅读