【问题标题】:Mongoose Not Working on Firebase (Express Api) HostingMongoose 在 Firebase (Express Api) 托管上不工作
【发布时间】:2019-01-16 22:07:35
【问题描述】:

我将我的 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 并调用它时它不起作用并返回此错误“错误:无法处理请求”

【问题讨论】:

    标签: node.js firebase mongoose google-cloud-functions mlab


    【解决方案1】:

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

    【讨论】:

    • 很好的分享 Mayaka !很高兴您找到了解决方案
    • 要从 Cloud Functions 连接到第 3 方 Web 服务,您的项目需要采用付费计划。这是为了防止滥用,否则未知开发人员很容易将 Cloud Functions 用于 DoS 3rd 方服务。要允许从您的 Cloud Functions 代码调用第 3 方网络服务,请将您的项目升级为付费计划。
    猜你喜欢
    • 2018-08-29
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 2019-01-10
    • 2020-09-06
    • 2020-06-17
    • 2018-12-09
    • 2023-03-13
    相关资源
    最近更新 更多