2016-09-20 3 views
4

I have my database structure like below in the snapshotFirebase Abrufen von Daten aus Kind durch Schlüssel

Nun, was ich versuche, alle Kinder mit category Wert von shop

Ich habe versucht,

diesen Code zu bekommen zu tun ist,
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()); 
      } 
}); 

aber Wenn ich mir das Protokoll anschaue, werden alle 10 Kinder ausgedruckt, während ich annehmen würde, dass ich nur eins abrufen würde, weil es nur einen Wert für categoryshop gibt.

Ich weiß nicht, was ich vermisse. Könnten Sie mir bitte helfen, das Problem zu lösen?

+0

Sie haben ein Bild des JSON Baum in Ihrer Frage enthalten. Bitte ersetzen Sie dies durch den tatsächlichen JSON als Text, den Sie einfach erhalten, indem Sie in der Firebase-Datenbankkonsole auf die Schaltfläche "Exportieren" klicken. Da der JSON als Text durchsuchbar ist, können wir ihn einfach verwenden, um mit Ihren tatsächlichen Daten zu testen und sie in unserer Antwort zu verwenden, und im Allgemeinen ist dies nur eine gute Sache. –

Antwort

4

Ihre Referenz zeigt auf bussiness, so Abfrage verwenden, um die Daten mit der Bedingung zu holen

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()); 
      } 
}); 
+0

Wo genau ist Ihr Code anders als OP-Code? Und bitte fügen Sie immer eine Erklärung zum Code hinzu, sonst kann es keine gute Antwort sein. – Seelenvirtuose

+0

Ich gab nur zusammengefasste Informationen. Ich habe nur den Code geändert, den Sie erwähnt haben, aber jetzt bekomme ich keinen Wert. – Nirmal

+0

Ich habe meinen Code bearbeitet, Shop ist case sensitive –