【问题标题】:Two Google Firebase hosted apps need to share one RTDB database两个 Google Firebase 托管应用需要共享一个 RTDB 数据库
【发布时间】:2019-06-26 05:48:06
【问题描述】:

我创建了一个项目并构建了一个同名的应用程序来使用 RTDB 数据库。在不知不觉中,我为另一个应用程序创建了另一个项目。但我希望第二个项目中的第二个应用程序共享第一个项目中的 RTDB。看起来我应该在第一个项目中创建第二个应用程序。如何让两个应用程序一起共享数据库?

【问题讨论】:

  • 好像不愿意把应用从第二个项目中删除,添加到它所属的第一个项目中?
  • Doug 暗示:最好的方法是从当前项目中删除第二个应用程序,然后在另一个项目下重新创建它。如果这不适合您,请编辑您的问题以解释原因,并显示您如何在第二个应用中初始化 Firebase 的代码。
  • 我会这样做的。我可以删除整个第二个项目,但我没有看到删除选项。我必须再次询问应用程序的名称吗?我假设我只是将应用程序添加到第一个项目并再次设置托管。

标签: firebase firebase-realtime-database


【解决方案1】:

根据文档,您可以使用不同的app 访问多个实时数据库。

以 JavaScript API 为例: https://firebase.google.com/docs/reference/js/firebase.database.html

// Get the Database service for the default app
var defaultDatabase = firebase.database();

// Get the Database service for a specific app
var otherDatabase = firebase.database(app);

注意创建app时可以指定哪个配置(要加载的数据库):

var firebaseConfig = {
  apiKey: 'xxxx',
  authDomain: 'xxxx',
  databaseURL: 'https://xxx.firebaseio.com',
  projectId: 'xxx'
};
var app = firebase.initializeApp(firebaseConfig);

对于非 JavaScript,请考虑参考以下内容:

无论使用哪种语言,都可以考虑检查 API 并选择您选择的语言等: https://firebase.google.com/docs/reference

【讨论】:

    【解决方案2】:

    使用来自两个答案的信息,我已经获得了 80% 的解决方案。首先,作为 Firebase 的新手,我在那里使用托管在 Azure 上的现有 Web 应用程序的名称创建了一个项目,因此它可以使用 Firebase RTDB。后来我使用相同的名称在那里托管了网络应用程序。我认为项目和应用程序是一回事。因此,当我构建第二个应用程序时,我也做了同样的事情,并使用该应用程序名称创建了一个项目,并将该应用程序托管在那里。然后,当我希望第二个应用程序从第一个应用程序使用的 RTDB 中读取时,我遇到了问题。按照 Dean 的建议查看文档,我尝试了“var otherDatabase=firebase.database(app)”,但不得不猜测“app”是什么。我尝试了几种猜测,但都没有奏效,因为这种方法似乎适用于一个共同项目中的不同应用程序。我了解到我的两个项目都没有应用程序!然后使用 Doug 和 Frank 建议的方法,我终于找到了项目的删除按钮。所以我删除了第二个项目,将我的两个 Web 应用程序作为应用程序添加到第一个项目中,为第二个应用程序获取了新的 Firebase 配置,最后该应用程序可以访问 RTDB。 “firebase deploy”命令对第一个应用程序像以前一样工作,但对第二个应用程序不起作用。仍在解决这个问题。

    【讨论】:

      猜你喜欢
      • 2020-09-17
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      • 2011-08-07
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 2015-03-09
      相关资源
      最近更新 更多