使用 C# 在 Firebase 数据库中设置序列号节点和子名称

问题描述 投票:0回答:1

我是Firebase的初学者,我已经将传感器数据上传到Firebase实时数据库,但Firebase中每个节点的名称都是随机字母。我想把这组数据设置为序号,比如1,2,3,4,5.....

这是C#代码,我应该在代码中添加什么?

var request = WebRequest.CreateHttp("https://........firebaseio.com/.json");

            request.Method = "PATCH";
            request.ContentType = "Application/json";
            var buffer = Encoding.UTF8.GetBytes(json);
            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            var response = request.GetResponse();
            json = (new StreamReader(response.GetResponseStream())).ReadToEnd();

希望大家有什么建议。

c# firebase firebase-realtime-database
1个回答
0
投票

Firebase 没有任何类似的预构建方法,但您可以创建逻辑来使序列号正常工作,只需每次计算子节点数,然后为其添加 +1 以设置下一个节点。

  private fun getNextSequentialNumber(completion: (Int) -> Unit) {
    dataRef.addListenerForSingleValueEvent(object : ValueEventListener {
        override fun onDataChange(dataSnapshot: DataSnapshot) {
            val nextSequentialNumber = dataSnapshot.childrenCount.toInt()+1
            completion.invoke(nextSequentialNumber)
        }

        override fun onCancelled(databaseError: DatabaseError) {
            // Handle error
            println("Error fetching data: $databaseError")
        }
    })
  }

然后在 onCreate 代码中使用它,如下所示

    getNextSequentialNumber { nextSequentialNumber ->
        // Use the nextSequentialNumber as needed
        println("Next Sequential Number: $nextSequentialNumber")
    }
© www.soinside.com 2019 - 2024. All rights reserved.