访问同一 Firebase 应用项目的多个实时数据库

我找到了一些关于使用 angularfire2 从单独的应用程序项目连接多个数据库的解释但我想访问同一个项目中的数据库

文件指出:

// Get the default database instance for an app
var database = firebase.database();

// Get a secondary database instance by URL
var database = firebase.database('https://testapp-1234.firebaseio.com');

我怎样才能用 angularfire2 做到这一点?

老板

我知道你在这里得到了一个有效的答案:https : //github.com/angular/angularfire2/issues/1567

测试:“angularfire2”:“^5.0.0-rc.6.0”,“firebase”:“^4.12.1”

我已经构建了一个受我想分享的 #1567 启发的极简包装。有两种方法可以在不同或相同的项目中使用多个数据库。

您可能会使用第一个,我真的不明白在多个项目中使用多个数据库的意义。

@Injectable()
export class AngularFireWrapper {

  // Default database 
  private _firebaseDb = this.afDb.database;

  constructor(private afDb: AngularFireDatabase,
              @Optional() dbName: string) {

    console.log('Hello AngularFireWrapper, db :', dbName || 'default');

    // 1st Method, same project, same auth
    // environment.dbUrls = {
    //   ...
    //   otherDb: 'https://DB_NAME_SAME_PROJECT.firebaseio.com/'
    // }

    if (dbName && environment.dbUrls[dbName]) {
      const app: any = this.afDb.app;
      this._firebaseDb = app.database(environment.dbUrls[dbName]);
    }

    // 2nd Method, other project, different auth =/
    // environment.dbConfigs = {
    //   ...
    //   otherDb: {...} // usual firebase configs 
    // }

    if (dbName && environment.dbConfigs[dbName]) {
      this._firebaseDb = firebase.initializeApp(environment.dbConfigs[dbName], dbName)
        .database();
    }
  }

  db(dbName): AngularFireWrapper {
    return new AngularFireWrapper(this.afDb, dbName);
  }

  object(path: string): AngularFireObject<any> {
    const ref = this._firebaseDb.ref(path);
    return this.afDb.object(ref);
  }

  list(path: string, queryFn?: QueryFn): AngularFireList<any> {
    const ref = this._firebaseDb.ref(path);
    return this.afDb.list(ref, queryFn);
  }
}

复制粘贴,像通常使用自定义服务一样注入它,然后:

export class MyApp {
  constructor(private afW: AngularFireWrapper) {

    this.afW.object('test')
      .valueChanges()
      .subscribe(console.log)
    // => output default db values

    this.afW.db('otherDb').object('test')
      .valueChanges()
      .subscribe(console.log)
    // => output otherDb values
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Firebase实时数据库-基于访问节点设置多个.on()侦听器

来自分类Dev

Firebase实时数据库一次更新多个节点

来自分类Dev

Firebase实时数据库:为什么我不能在同一目录层次结构中导入多个JSON文件?

来自分类Dev

Firebase实时数据库:在同一时间侦听大量价值事件是否安全?

来自分类Dev

当Firebase实时数据库拒绝访问时,如何显示错误?

来自分类Dev

在Firebase实时数据库上进行公共读取访问是否安全?

来自分类Dev

Firebase实时数据库中的不同目录访问权限,以实现dialogflow

来自分类Dev

iOS上的Firebase Realtime:无法访问实时数据库

来自分类Dev

设备离线时是否可以访问 Firebase 实时数据库?

来自分类Dev

Firebase 实时数据库访问与前端的 IAM 服务帐户

来自分类Dev

阻止开发人员访问 Firebase 实时数据库

来自分类Dev

同一Firebase项目中的更多数据库

来自分类Dev

如何从Firebase实时数据库获取包含唯一密钥的字符串

来自分类Dev

admin.firestore.FieldValue.serverTimestamp()无法与Firebase实时数据库一起使用

来自分类Dev

如何获取Firebase实时数据库中添加的最后一项?

来自分类Dev

Firebase实时数据库同时预订一个时隙(覆盖问题)

来自分类Dev

列表视图从android中firebase的实时数据库中检索一项

来自分类Dev

如何在 Firebase 实时数据库中保存生成的唯一 ID

来自分类Dev

firebase 实时数据库统一包是否支持通用 Windows 平台构建?

来自分类Dev

仅在 firebase 实时数据库中的一个节点上禁用读取规则

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

Firebase实时数据库-规则

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

Android:Firebase实时数据库

来自分类Dev

Firebase 实时数据库的问题

来自分类Dev

Firebase 实时数据库帖子

来自分类Dev

首次安装android应用时,如何从Firebase实时数据库获取数据库

来自分类Dev

React + Firebase:如何添加项目以将数据列表到firebase实时数据库中

来自分类Dev

如何在不知道firebase实时数据库中的父元素的情况下访问子元素?

Related 相关文章

  1. 1

    Firebase实时数据库-基于访问节点设置多个.on()侦听器

  2. 2

    Firebase实时数据库一次更新多个节点

  3. 3

    Firebase实时数据库:为什么我不能在同一目录层次结构中导入多个JSON文件?

  4. 4

    Firebase实时数据库:在同一时间侦听大量价值事件是否安全?

  5. 5

    当Firebase实时数据库拒绝访问时,如何显示错误?

  6. 6

    在Firebase实时数据库上进行公共读取访问是否安全?

  7. 7

    Firebase实时数据库中的不同目录访问权限,以实现dialogflow

  8. 8

    iOS上的Firebase Realtime:无法访问实时数据库

  9. 9

    设备离线时是否可以访问 Firebase 实时数据库?

  10. 10

    Firebase 实时数据库访问与前端的 IAM 服务帐户

  11. 11

    阻止开发人员访问 Firebase 实时数据库

  12. 12

    同一Firebase项目中的更多数据库

  13. 13

    如何从Firebase实时数据库获取包含唯一密钥的字符串

  14. 14

    admin.firestore.FieldValue.serverTimestamp()无法与Firebase实时数据库一起使用

  15. 15

    如何获取Firebase实时数据库中添加的最后一项?

  16. 16

    Firebase实时数据库同时预订一个时隙(覆盖问题)

  17. 17

    列表视图从android中firebase的实时数据库中检索一项

  18. 18

    如何在 Firebase 实时数据库中保存生成的唯一 ID

  19. 19

    firebase 实时数据库统一包是否支持通用 Windows 平台构建?

  20. 20

    仅在 firebase 实时数据库中的一个节点上禁用读取规则

  21. 21

    Firebase实时数据库addValueEventListener

  22. 22

    Firebase实时数据库-规则

  23. 23

    Firebase实时数据库addValueEventListener

  24. 24

    Android:Firebase实时数据库

  25. 25

    Firebase 实时数据库的问题

  26. 26

    Firebase 实时数据库帖子

  27. 27

    首次安装android应用时,如何从Firebase实时数据库获取数据库

  28. 28

    React + Firebase:如何添加项目以将数据列表到firebase实时数据库中

  29. 29

    如何在不知道firebase实时数据库中的父元素的情况下访问子元素?

热门标签

归档