Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 创建firebase admin的多个实例_Node.js_Firebase_Firebase Realtime Database - Fatal编程技术网

Node.js 创建firebase admin的多个实例

Node.js 创建firebase admin的多个实例,node.js,firebase,firebase-realtime-database,Node.js,Firebase,Firebase Realtime Database,我有多个Firebase数据库,我想创建一个连接到所有数据库的管理员。要初始化应用程序,我首先需要Firebase管理模块并初始化应用程序。如果我使用不同的凭据再次运行此应用程序,它仍将仅初始化一个应用程序 var admin = require("firebase-admin"); ... Object.keys(config).map(function (k, i){ var c = config[k]; var serviceAccount = require(c.credenti

我有多个Firebase数据库,我想创建一个连接到所有数据库的管理员。要初始化应用程序,我首先需要Firebase管理模块并初始化应用程序。如果我使用不同的凭据再次运行此应用程序,它仍将仅初始化一个应用程序

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);
...
}
这不行!即使有两种配置,也只有一个应用程序被初始化。

解决了这个问题

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

var db = admin.database(app);

有关更多详细信息,请查看Firebase Admin SDK安装指南的文档。

还应将“app”添加为第二个参数:var app=Admin.initializeApp({…},'app');虽然这不是公认的答案,但这对meThis有效,毫无疑问,应该是公认的答案,因为它显示了初始化后如何使用这些方法
// 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();