angulargoogle-cloud-firestoreangularfire2angularfire5

Can not have access to multiple Google Firestore DB in Angular 6 application with angularfire2


I try to have access to multiple Google Firestore DB from my Angular 6 application through angularfire2 package.

I initialized multiple instance of AngularFireModule in app.module.ts but couldn't find a way to have access to both DBs:

  @NgModule({
  declarations: [
	...
  ],
  imports: [
	...
    AngularFireModule.initializeApp(coolStoreConfig, 'coolStore'),
    AngularFireModule.initializeApp(perfectStoreConfig, 'perfectStore'),
	...
  ],
  ...
 })

Any idea?


Solution

  • After some searches around, the following answer could help a lot: angular2firebase - multiple instances using Angular 6

    looks like creating providers for each instance can be a good idea

    ...
    { provide: AngularfirestoreCoolStoreService, deps: [PLATFORM_ID, NgZone], useFactory: AngularfirestoreCoolStoreFactory },
    { provide: AngularfirestorePerfectStoreService, deps: [PLATFORM_ID, NgZone], useFactory: AngularfirestorePerfectStoreFactory }
    ...

    I created a stalkblitz which shows how it works: https://stackblitz.com/edit/angular-or2ehb