2017-11-26 2 views
0

Meine Feuerbasis Datenbank wie strukturiert:Firebase Erhalten Sie alle Objekte mit Specific Child Key

Users: 
    -uid_1 
     -contacts 
    -uid_2 
     -contacts 
      -uid1 
       <Other Info> 
    -uid_3 
     -contacts 
      -uid1 
       <Other Info> 

ich mich gefragt, ob es eine Möglichkeit für alle Objekte mit dem UID1 Objekt in ihren Kontaktlisten zu suchen war.

Ich habe zu diesem Code versucht: Drucken alle Benutzer Kinder

usersRef.queryOrdered(byChild: "uid1").observe(.value, with: { (snapshot) in 
     print(snapshot.value) 
    }) 

Aber es endet.

+0

Sie könnten irgendwo durch 'usersRef.queryOrdered (byChild:" Kontakte/uid1 ")'. Sie müssen jedoch für jeden Benutzer einen Index definieren, damit dieser effizient arbeitet, was nicht machbar erscheint. Ich würde dies als eine Variante eines Kategorisierungsproblems betrachten und meine Antwort dafür empfehlen: http://stackoverflow.com/questions/40656589/firebase-query-if-child-of-child-contains-a-value –

+0

I habe versucht, den Code zu verwenden, aber es druckt immer noch alle Objekte in der Datenbank. Ich frage mich, kann ich queryEqual auf uid1 Wert verwenden, sondern stattdessen einen Null-Wert? – user201911

Antwort

0

Sie versuchen, die Abfrage von UID1 bestellen, aber das ist kein Kind eines Benutzers, Kontakte ist.

In diesem Fall würde ich entweder alle Benutzer abrufen und dann im Code filtern oder die Datenbank restrukturieren, um zu ermöglichen, was Sie wollen.

Verwandte Themen