Firebase.database()不是一个函数 - Sails Service

时间:2017-01-26 20:16:40

标签: javascript node.js firebase sails.js firebase-admin

我已经创建了一个名为Firebase.js的服务,然后我尝试使用Firebase.database之类的控制器来调用它,但是我收到错误 Firebase.database()不是功能

服务/ Firebase.js

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);
    })

我不太确定我哪里出错了。有什么建议吗?

4 个答案:

答案 0 :(得分:2)

<强>服务/ Firebase.js

//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()});
});

<强>控制器

{{1}}

Firebase 是服务文件名, firebaseDB 是导出以供在服务。

答案 1 :(得分:0)

在您的控制器中,您应该初始化数据库以供使用。代码看起来类似于:

var config = {
    apiKey: "Sample api key here",
    authDomain: "yourapplication.firebaseapp.com",
    databaseURL: "yourapplication.firebaseio.com",
    storageBucket: "yourapplication.appspot.com",
    messagingSenderId: "Id number here"
  };
firebaseObject.initializeApp(config);

firebaseObject将成为您用于数据库引用的对象,如下所示:

var db = firebaseObject.database();
var ref = db.ref("my-db");

答案 2 :(得分:0)

可能是您使用的是大写字母,请使用(async () => { const browser = await puppeteer.launch({ args: ['--no-sandbox'] }); const page = await browser.newPage(); await page.goto("https://myurl.com/page"); await page.waitForSelector("#select-all-checkbox"); await page.evaluate(() => { document.querySelector("#select-all-checkbox").parentElement.click(); }); await page.close(); await browser.close(); })();

答案 3 :(得分:-1)

你必须在控制器中

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__);
});