Can not have access to multiple Google Firestore D

2019-04-15 22:05发布

问题:

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?

回答1:

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