首页 > 解决方案 > 如何从firebase中的单个子值获取多个键?

问题描述

我想使用单个值从 firebase 实时数据库中获取多个键。主节点是“Orders”,然后它有“userkey”节点,然后它有“orderkey”节点。orderykey 包含两个节点“orderdetails”和“orderitems”。

现在我想要的是仅使用“orderdetails”中存在的特定值来获取“userkey”和“orderkey”。
在此处输入图像描述

我已经尝试使用两个 for-each 循环,但它返回所有键。这是我尝试过的。

    myRef.orderByValue().equalTo("orderStatus").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for (DataSnapshot datas : dataSnapshot.getChildren()) {
                Log.v("orderKey2", datas.getKey());

                for (DataSnapshot datas2 : datas.getChildren()) {

                    Log.v("orderKey3", datas2.getKey());

                }
            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

但是它返回了第一个孩子的所有钥匙和第二个孩子的所有钥匙。

注意:这些键只是用于插入而不是 firebase 身份验证键的按键。

标签: javaandroidfirebasefirebase-realtime-database

解决方案


推荐阅读