Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Mongoose不在Firebase(Express Api)主机上工作_Node.js_Firebase_Mongoose_Google Cloud Functions_Mlab - Fatal编程技术网

Node.js Mongoose不在Firebase(Express Api)主机上工作

Node.js Mongoose不在Firebase(Express Api)主机上工作,node.js,firebase,mongoose,google-cloud-functions,mlab,Node.js,Firebase,Mongoose,Google Cloud Functions,Mlab,我将我的mongoose连接到MongoDb数据库,该数据库由mLab托管 try { mongoose.connect('mLab Hosting Url', { useNewUrlParser: true }) } catch (e) { console.error('An Error Occurred When Trying Connect To MongoDb.', e); } 并托管了我的Express api,需要通过firebase托管连接到此数据库 router

我将我的mongoose连接到MongoDb数据库,该数据库由mLab托管

try {
    mongoose.connect('mLab Hosting Url', { useNewUrlParser: true })
} catch (e) {
    console.error('An Error Occurred When Trying Connect To MongoDb.', e);
}
并托管了我的Express api,需要通过firebase托管连接到此数据库

router.get('/hello', (request, response) => {
        try {
            User.findOne({ email: 'm.yaman.katby@gmail.com' }).then((result) => {
                return response.status(200).json(result);
            }).catch((e) => {
                return response.status(700).json(e);
            });
        } catch (e) {
            return response.status(700).json(e);
        }
    });

现在,当我在本地调用api时,它是工作的,当我将api部署到firebase并调用它不工作时,返回此错误“错误:无法处理请求”

我在firebase日志中发现问题,您无法从firebase托管的Express api连接mLab托管的数据库。
原因是firebase不允许外部网络

很高兴分享玛雅卡!很高兴你找到了从云功能连接到第三方web服务的解决方案,你的项目需要付费。这是为了防止滥用,否则未知的开发人员很容易使用云功能来DoS第三方服务。要允许从云功能代码调用第三方web服务,请将项目升级为付费计划。