2017-01-26 11 views
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__); 
}); 
+0

コントローラで 'Firebase'を定義するために使用するコードを共有できますか?私が言うことから、「ファイアーベース」は定義されていません。 'initializeApp()'でSDKを初期化した後、 'admin.database()'を呼び出すだけでよいはずです。あなたは 'initializeApp()'呼び出しから返されたアプリケーションインスタンスを使うことができますが、必須ではありません。 – jwngr

+0

それはsailsjですので、Firebase.jsのファイル名でサービスを作成すると、Firebaseはグローバルになります – K20GH

+0

'console.log(Firebase)'の場合、何が出力されますか?私はSails.jsを使ったことは一度もありませんが、これを処理する典型的な方法は、Admin SDKが初期化されているかどうかをチェックするinitializeAdmin.jsというファイルがあり、そうでなければ初期化します。そのファイルは何もエクスポートしません。次に、Admin SDKを使用する必要がある各ファイルで、 'initializeAdmin.js'ファイルをインポートして、必要に応じて' admin.database() 'または' admin.auth() 'を使用します。それは理にかなっていますか?あなたのやり方もうまくいくはずですが、Sails.jsの何かが原因でそれが動作しなくなってしまいます... – jwngr

答えて

関連する問題