使用nodejs更新firebase中的数据

时间:2017-05-31 18:57:52

标签: javascript node.js firebase firebase-realtime-database

我有以下问题,我每分钟都会向firebase发送数据  在nodejs中运行的cron选项卡中的数据库,我只在有更改时发送信息,但是当没有更改时数据库继续接收信息,这是我的代码

let admin = require('firebase-admin');
let prev_res = {};

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: 'mydburl'
});

cron.schedule('* * * * *', function(){
    let connection = mysql.createConnection({
      host     : 'myhost',
      user     : 'myuser',
      password : 'mypass',
      database : 'mydb'
    });

    connection.query("MY QUERY", function(err, rows, fields){
        if (!err){
            if(JSON.stringify(rows) != JSON.stringify(prev_res)){
                let db = admin.database();
                let ref = db.ref('path');
                ref.set(rows);

                console.log("Updated data");
            } else {
                console.log("without changes");
            }

            prev_res = rows;

        }
    });

});

firebase管理员是否有某种缓存或类似的东西?

1 个答案:

答案 0 :(得分:1)

这实际上是Firebase身份验证的一个奇怪问题。 问题在于您在凭据中包含的用户的权限。 除了使用正确的权限创建服务帐户外,您还需要使用编辑器角色将此用户添加到 IAM帐户

执行此操作后重新启动应用程序,您应该停止查看:

  

“FIREBASE警告:提供的身份验证凭据无效。   这通常表示您的FirebaseApp实例未初始化   正确“。

相关问题