如何在检索数据时访问 Firebase 中的未知节点?



我想检索 Firebase 中 ID 未知的节点下的数据。我使用了push((.getKey((,它为每个条目分配了一个未知ID。

数据库的结构有点像这样:已知 ID->{未知ID 1:数据 1、未知 ID 2:数据2、未知 ID3:数据 3}

我使用什么来访问数据,方式如下:ref.child(Known ID).child(Unknown ID)--> data但请记住随机未知 ID?

参考了其他答案,但无法得出结论。已尝试,但检索到空值。

TLDR:如果您不知道子节点的 ID/名称,则无法获取 它直接。

现在,据我从你的解释中理解,你的结构是这样的:

根>用户>更多使用未知 ID 添加的数据。

我建议你这样重组它。

根>用户>另一个名称为"userData"的子节点>在此处添加更多具有唯一 ID

的数据
userID1234:{
....,
records:{
record1:{},
record2:{},
so on
}
}

这将帮助您通过在 userData 子级上添加侦听器一次性获取数据。

现在执行此操作以获取所有记录:

//Single event listener
databaseReference.child(userID).child("records").addListenerForSingleValueEvent(
new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Get all records
if (dataSnapshot.exists()){
// Use the fetched data which contains all the records
}
}
});

最新更新