我创建了一个名为 Firebase.js 的服务,然后尝试使用 Firebase.database
之类的 Controller 从我的 Controller 调用该服务,但是我收到错误 Firebase. database() 不是一个函数
services/Firebase.js
var admin = require("firebase-admin");
var instance = admin.initializeApp({
credential: admin.credential.cert({
[[cert info]]
}),
databaseURL: "foo.com"
})
module.exports.default = instance;
Controller
var db = Firebase.database();
var ref = db.ref("my-db");
var brandsRef = ref.child("brands");
brandsRef.once("value", function(data){
console.log(data);
})
我不太确定我哪里出了问题。有什么建议吗?
最佳答案
services/Firebase.js
var admin = require("firebase-admin");
var serviceAccount = require("path/to/serviceAccountKey.json");
var instance = admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://YOUR_DATABASE_NAME.firebaseio.com"
});
module.exports.firebaseDB = instance.database();// Export the database object
Controller
//Don't need initialize the Firebase again, only call function from service
var ref = Firebase.firebaseDB.ref("/your_resource");
ref.once("value", function(snapshot) {
return res.json({MY_RESOURCE_DATA: snapshot.val()});
});
其中 Firebase 是服务文件名,firebaseDB 是导出以供在服务中使用的数据库对象服务。
关于javascript - Firebase.database() 不是函数 - Sails 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41882192/