Firebase按键从子项检索数据

时间:2016-09-20 11:20:22

标签: java android firebase firebase-realtime-database

I have my database structure like below in the snapshot

现在我要做的是让所有孩子的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());
            }
 });

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

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

1 个答案:

答案 0 :(得分:4)

您的引用指向商务,因此请使用query来获取条件

的数据
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());
            }
 });