Mongoose不适用于Firebase(Express Api)主机
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongoose不适用于Firebase(Express Api)主机相关的知识,希望对你有一定的参考价值。
我将我的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不允许外部网络。
以上是关于Mongoose不适用于Firebase(Express Api)主机的主要内容,如果未能解决你的问题,请参考以下文章
Mongoose Populate 不适用于 ObjectIds 数组