2017-02-26 4 views
1

Ich benutze firebase in meinem Projekt swift 2.Nur bestimmte Daten vom Firebase abrufen

{ 
    'Registration' 
    { 
    'SomerandomkeyofuserID': 
     { 
     'Car': 
      { 
      'random key 1': 
       { 
       'name': 'Chris'; 
       'date': '24 May 2016' 
       } 
      'random key 2': 
       { 
       'name': 'John'; 
       'date': '25 May 2016' 
       } 
      'random key 3': 
       { 
       'name': 'Chris'; 
       'date': '24 May 2016' 
       } 
      'random key 4': 
       { 
       'name': 'John'; 
       'date': '25 May 2016' 
       } 

     } 
} 

Ich möchte nur den Schnappschuss der Daten holen, die haben ‚name‘ = ‚John‘

ich unter code.But verwende es gibt mir alle vier Daten.

let userRef = dataBaseRef.child("Registration/").child((FIRAuth.auth()!.currentUser?.uid)!).child("Car") 

let userRef1 = userRef.queryOrderedByChild("car_name") 

userRef1.observeEventType(.Value, withBlock: { (snapshot) in 
    print("SNAPSHOT: ",snapshot.childrenCount) 
    print("SNAPSHOT: ",snapshot) 

)} 

Bitte helfen.

+0

Haben Sie die Daten in Ihren Regeln indiziert? Andere Sache, Sie wollen es mit Namen holen, aber Sie beobachten Car_name, wie ist das? – i6x86

Antwort

3

Ihre userRef1 Referenz ändern, um so etwas wie:

let userRef1 = userRef.queryOrdered(byChild: "name").queryEqual(toValue: "John") 

Diese funktionieren sollte.

Denken Sie auch daran, dass Sie Ihre Daten benötigen.