Node.js Mongoose不在Firebase(Express Api)主机上工作
我将我的mongoose连接到MongoDb数据库,该数据库由mLab托管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
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服务,请将项目升级为付费计划。