微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

firebase 云功能 ServerValue 增量不起作用

如何解决firebase 云功能 ServerValue 增量不起作用

我有一个火力点功能。我想在这里增加 ServerValue。但它不起作用,它给出了错误。我哪里做错了? 我附上了下面的控制台屏幕截图。 (注意:我对javascript不是很了解,java代码中也可能有错误。)

const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);

const database = admin.database();

    async function sirala(dil,lig,oyunTipi) {
      await database.ref("/turnuvalar/" + dil + "/" + lig + "/" + oyunTipi + "/users/").once("value").then(async function(snap) {
        const users = [];
    
        const updatesLig = {};
        const refLig = database.ref().child("ligler").child(dil).child(lig).child("users");
    
        snap.forEach((childSnap) => {
          const id = childSnap.key;
          const puan = childSnap.child("puan").val();
          const serverTime = childSnap.child("serverTime").val();
          users.push(new Person(id,puan,serverTime));
        });
    
        users.sort((a,b) => parseFloat(a.serverTime) - parseFloat(b.serverTime));
    
        for (let i = 0; i < users.length; i++) {
          let group = [];
          const grupSayi = 3;
    
          if (i < grupSayi) {
            group = users.slice(0,grupSayi);
          } else {
            group = users.slice(i + 1 - grupSayi,i + 1);
          }
    
          group.sort((a,b) => parseFloat(b.puan) - parseFloat(a.puan));
    
          const index = (element) => element.id === users[i].id;
          const sira = (group.findindex(index) + 1);
          // const increment = database.ServerValue.increment(kupaAdet(sira));
    
          const kupa = {
            puan: database.ServerValue.increment(1),/// ??? ERROR IS THERE ???
          };
          updatesLig[users[i].id + "/"] = kupa;
    
          console.log("user id " + users[i].id + " kupa - " + kupaAdet(sira) + " sira - " + sira);
          for (let g = 0; g < group.length; g++) {
            console.log("grup : " + (i + 1) + " - " + group[g].id + " - " + group[g].puan + " - " + group[g].serverTime);
          }
        }
    
    
        await refLig.update(updatesLig);
    
        return null;
      }).catch((error) => {
        console.log(error);
      });
    
    }

错误截图:

screnshot

解决方法

看起来你的 databasefirebase.database() 的一个实例(注意里面的括号)。 ServerValue 属性是在 firebase.database 上定义的,没有括号,这就解释了为什么找不到 increment

您需要使用 admin.database.ServerValue.increment(1)firebase.database.ServerValue.increment(1),具体取决于您导入 Admin SDK 的方式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?