当前位置: 首页 > 知识库问答 >
问题:

使用Flatter如何在同一应用程序中使用多个firebase实时数据库

司马念
2023-03-14

我们正在使用Firebase实时数据库在flutter中开发一个应用程序,为不同的客户提供多种服务。我想为使用相同Firebase项目的每个客户拥有不同的数据库。由于Firebase在同一个项目中支持多个数据库,我相信可以使用Firebase Datase插件实现。

我试图设置对辅助数据库的引用,但我找不到一个稳定的突击队来更改此数据库的实例。如果您使用的是Java或其他使用Firebase的语言SDK这非常简单,但我找不到使用Flutter的方法。

Future<DataSnapshot> getDbData(String dbChildPath) async {
DataSnapshot _objdatabase;
try {
  await FirebaseDatabase.instance
      .reference()
      .child(dbChildPath)
      .once()
      .then((DataSnapshot snapshot) {
    _objdatabase = snapshot;
    print(_objdatabase.toString());
  });
  return _objdatabase;
} catch (erroDB) {
  print(erroDB);
  return null;
}}

我的代码正在从默认数据库获取数据。

如何设置辅助数据库实例的URL?

有什么想法吗?

共有2个答案

乜钱明
2023-03-14

另一种方法是在子路径中设置客户id,如:

await FirebaseDatabase.instance
  .reference()
  .child(customer_id)
  .child(dbChildPath)
  .once()
  .then((DataSnapshot snapshot) {

虽然这不是每个客户的单个DB。

郎鸿朗
2023-03-14

您可以使用Firebase Database()的参数,如下所示:

String fdbUrl1 = "https://my-firebase-db-1.firebaseio.com"
String fdbUrl2 = "https://my-firebase-db-2.firebaseio.com"

final databaseReference1 = FirebaseDatabase(databaseURL:fdbUrl1).instance.reference();
final databaseReference2 = FirebaseDatabase(databaseURL:fdbUrl2).instance.reference();

注:以上未进行单元测试。它应该会起作用。如果不是,请添加构造函数的“app”参数。

 类似资料:
  • setInterval(beta,1000);} 函数beta(){ var d=document.getElementById(“opopo”).value; $(“table tbody”)。追加(“+插槽+”+“分配+”+“+日期+”+“+限制+”+“+时间+”null“);}); }

  • 我想每天上午12:00重置Firebase实时数据库中的特定值。为此,我使用Firebase Admin SDK更改Firebase实时数据库和云函数中的数据,以便每天上午12:00触发更改。 这是我的Firebase实时数据库的示例结构: 这是我的中的代码: 部署错误: ! 函数[DailReset(us-central1)]:部署错误。 加载用户代码时函数失败。这可能是由于用户代码中的错误造成

  • 问题内容: 语境 我正在创建一个数据库环境,在该环境中,我想以几种不同的模式拆分数据以用于不同的用户组。但是,由于其中一个数据库包含公共实体,因此应该共享给所有人。 假设数据库: DB1-通用实体; 车轮实体 DB2-组“ A”; 汽车实体 DB3-组“ B”; 摩托车实体 我有三个不同的项目: 项目1: 车轮豆 专案2: 汽车制造商 专案3: 摩托车构造者 问题 我正在尝试从项目/方案(2,“

  • 我正在将当前的应用程序迁移到多租户体系结构。由于只有一个代码库,我需要解决多个租户的问题。我使用的是单数据库、多模式的方法。每个租户将被分配一个单独的模式,其中元数据保存在默认模式中。 应用程序是用ASP构建的。NET MVC。我使用Dapper连接到我的SQL Server。我有50个函数,使用直接查询和存储过程调用数据库。当为每个租户初始化dapper时,是否有任何方法可以在不改变函数的情况下

  • 此链接正在解释与和。但没有解释同样的路线问题。所以我想问我的问题。 我用创建了react项目,并在文件夹中创建了服务器。我想在。所以我写了这样的代码。 公共/index.html src/服务器/server.js package.json 我测试, -- localhost:4000/代码 我想只是一个静态文件,每当。为什么不显示

  • 我想在1个应用程序中设置2个Firebase,但有不同的持久性。 一个是启用,第二个是禁用。 请通知我如何设置。 一个应用程序中的多个Firebase项目 但这并没有解释, 如何为第二个Firebase设置持久性。 我要启用第一火线的持久性。 正如我们所看到,getInstance是静态方法, 我们怎么知道, 将属于第一或第二消防基地。