recuperar query orderbykey from datos data consultas ios swift firebase firebase-database

ios - query - recuperar datos firebase web



¿Cómo recorro y obtengo todas las claves de los nodos anidados en firebase? (3)

En Android

Da acceso a todos los hijos inmediatos de esta instantánea. Puede ser utilizado en loops nativos para:

for (DataSnapshot child : parent.getChildren()) { //Here you can access the child.getKey() }

En iOS

Swift 3:

for (child in snapshot.children) { //Here you can access child.key }

Swift 4:

snapshot.children.forEach({ (child) in <#code#> })

En la web

snapshot.forEach(function(childSnapshot) { //Here you can access childSnapshot.key });

Puede ponerlo en una lista diferente o en la misma ruta, lo importante es tener en cuenta la cantidad de datos que está recuperando realmente al convocar un evento. Y cómo va a consultar esa información ... es por eso que se recomienda en NoSQL mantener nodos planos

Estoy intentando obtener las claves de los nodos anidados en Firebase y no estoy seguro de cómo hacerlo.

Por ejemplo en este caso:

ejemplo

¿Cómo sé que 2,3,4 existe dentro de 1?

Estoy pensando en poner valores en una lista por separado en firebase. ¿Pero hay una manera más inteligente de hacer esto? ¿Hay una manera más eficiente de obtener las claves de todos los nodos anidados en Firebase?


Necesita trabajar con matrices de diccionarios. Iterate a través de cada uno de los diccionarios, entonces debes verificar si la clave está presente o no. Porque en Firebase necesitamos enviar claves específicas al servidor.

RÁPIDO

let key = "1" for child in snapshot.children { if let snap = child.childSnapshotForPath(key){ print("Able retrieve value : /(snap) for key : /(key)") } else { print("Unable to retrieve value for key : /(key)") } }

C OBJETIVO

NSString *key = @"1"; for (NSDictionary *dic in array) { NSArray *keys = [dic allKeys]; if ([keys containsObject:key]){ } }


Encontré una manera de iterar sobre json anidado cuya clave es aleatoria.

var ref = FIRDatabase.database().reference(withPath: "timinig") ref.observeSingleEvent(of: .value, with: { snapshot in print(snapshot.childrenCount) // I got the expected number of items let enumerator = snapshot.children while let rest = enumerator.nextObject() as? FIRDataSnapshot { print("-") print(rest.key) let newobj=rest.children while let rest1 = newobj.nextObject() as? FIRDataSnapshot { print(rest1.key) } print("-") }