Firebase按键从子项检索数据

Nir*_*mal 5 java android firebase firebase-realtime-database

我在快照中有如下所示的数据库结构

现在我要做的是让所有孩子都有category价值shop

我试过这段代码

Firebase ref = new Firebase("https://top-africa.firebaseio.com/businesses/);
ref.orderByChild("category").equalTo("shop");
        ref.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot,  String s) {
                Object ob = dataSnapshot.getValue();
                System.out.println("There are " + dataSnapshot.getKey() + " blog posts==" + dataSnapshot.getValue());
            }
 });
Run Code Online (Sandbox Code Playgroud)

但是当我查看日志时,它打印出所有10个孩子,而我想我只会检索一个,因为只有一个值category shop.

我不知道我错过了什么.你能帮我解决一下这个问题吗?

Jay*_*esh 5

您的参考指向业务,因此请使用查询来获取具有条件的数据

Query mQuery = ref.orderByChild("category").equalTo("Shop");
mQuery.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot,  String s) {
                Object ob = dataSnapshot.getValue();
                System.out.println("There are " + dataSnapshot.getKey() + " blog posts==" + dataSnapshot.getValue());
            }
 });
Run Code Online (Sandbox Code Playgroud)