1
私はFirebase.jsというサービスを作成しましたが、Firebase.database
のようなものを使用して私のコントローラからこれを呼び出そうとしていますが、エラーはFirebase/Firebase.js .database()関数ではないFirebase.database()は関数ではありません - 帆サービス
サービス
var admin = require("firebase-admin");
var instance = admin.initializeApp({
credential: admin.credential.cert({
[[cert info]]
}),
databaseURL: "foo.com"
})
module.exports.default = instance;
コントローラ
var db = Firebase.database();
var ref = db.ref("my-db");
var brandsRef = ref.child("brands");
brandsRef.once("value", function(data){
console.log(data);
})
私はどこが間違っているのか分かりません。助言がありますか?あなたが使用するためにデータベースを初期化する必要がありますあなたのコントローラで
var db = Firebase.database();
var ref = db.ref("my-db");
var brandsRef = ref.child("brands");
brandsRef.once('value').then{function(snapshot){
console.log(snapshot.val()._name data from firebase__);
});
コントローラで 'Firebase'を定義するために使用するコードを共有できますか?私が言うことから、「ファイアーベース」は定義されていません。 'initializeApp()'でSDKを初期化した後、 'admin.database()'を呼び出すだけでよいはずです。あなたは 'initializeApp()'呼び出しから返されたアプリケーションインスタンスを使うことができますが、必須ではありません。 – jwngr
それはsailsjですので、Firebase.jsのファイル名でサービスを作成すると、Firebaseはグローバルになります – K20GH
'console.log(Firebase)'の場合、何が出力されますか?私はSails.jsを使ったことは一度もありませんが、これを処理する典型的な方法は、Admin SDKが初期化されているかどうかをチェックするinitializeAdmin.jsというファイルがあり、そうでなければ初期化します。そのファイルは何もエクスポートしません。次に、Admin SDKを使用する必要がある各ファイルで、 'initializeAdmin.js'ファイルをインポートして、必要に応じて' admin.database() 'または' admin.auth() 'を使用します。それは理にかなっていますか?あなたのやり方もうまくいくはずですが、Sails.jsの何かが原因でそれが動作しなくなってしまいます... – jwngr