【发布时间】:2020-03-19 11:04:32
【问题描述】:
我一直在尝试在不知道“蓝色”键值的情况下检索“红色”数据(假设有多个带有随机键的孩子),但我想不出合适的代码。 这是 Firebase 子树。
我尝试编写此代码,但它不起作用(我是初学者)
List<String> idlist = new ArrayList<String>();
DatabaseStage = FirebaseDatabase.getInstance().getReference("Stages");
Query query = DatabaseStage.orderByChild("uniqueId").equalTo(stageid);
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
Iterable<DataSnapshot> stagedata = dataSnapshot.child("userEtudList").getChildren();
for(DataSnapshot it: stagedata){
if (!(it.getValue().equals("test"))){
idlist.add(it.getValue().toString());
}
}
Ps :如果您想知道 orderByChild(uniqueId).equalTo(stageid) 在这种情况下的使用 stageid 等于 2fddf71-4346-4395-bee5-38db04d4fd47 它允许我选择一个特定的孩子,这是第二个一个。
这是使用断点获得的变量的状态,您可以看到它不断获取 {key = userEtudList , Value =null} 但没有获取到 Children 的 Datasnapshot
【问题讨论】:
标签: java android database firebase firebase-realtime-database