我是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();
希望大家有什么建议。
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")
}