2016-11-16 16 views
2

私は複数のFirebaseデータベースを持っています。すべてのデータベースに接続する1つの管理者を作成したいと思います。アプリケーションを初期化するには、まずFirebase-adminモジュールが必要で、アプリケーションを初期化します。別の資格情報でこれをもう一度実行すると、1つのアプリケーションだけが初期化されます。firebase-adminの複数のインスタンスを作成する

var admin = require("firebase-admin"); 
... 


Object.keys(config).map(function (k, i){ 

var c = config[k]; 

var serviceAccount = require(c.credential); 

admin.initializeApp({ 
    credential: admin.credential.cert(serviceAccount), 
    apiKey: c.apiKey, 
    authDomain: c.authDomain, 
    databaseURL: c.databaseURL, 
    storageBucket: c.storageBucket 
}, c.name); 
... 
} 

これは機能しません。 2つの設定があっても、1つのアプリしか初期化されません。

答えて

1

はそれを考え出した...

var app = admin.initializeApp({... }) 

var db = admin.database(app); 
+0

'app'も2番目のパラメータとして追加する必要があります。 var app = admin.initializeApp({...}、 'app'); – user2078023

2
// Initialize the default app 
firebase.initializeApp(defaultAppConfig); 

// Initialize another app with a different config 
var otherApp = firebase.initializeApp(otherAppConfig, "other"); 

console.log(defaultApp.name); // "[DEFAULT]" 
console.log(otherApp.name); // "other" 

// Use the shorthand notation to retrieve the default app's services 
var defaultAuth = firebase.auth(); 
var defaultDatabase = firebase.database(); 

// Use the otherApp variable to retrieve the other app's services 
var otherAuth = otherApp.auth(); 
var otherDatabase = otherApp.database(); 

は、より多くの詳細については、Firebase管理SDKのセットアップガイドのInitialize mutltiple appsドキュメントをチェックしてください。

関連する問題