recuperar query orderbychild from datos datasnapshot data consultas python ios swift firebase firebase-database

python - query - cómo recuperar una matriz de datos de firebase



query firebase android (3)

Hola, he intentado esto de varias maneras, pero básicamente, tengo una matriz de datos en mi base de datos de firebase que cargué usando Python. En Python agregué todo a una matriz y la cargué en la base de datos. En Swift, he tratado de recuperar los datos como este

import UIKit import Foundation import Firebase class CSGOView: UIViewController, UITableViewDelegate, UITableViewDataSource{ var teams: [String] = [] var times: [String] = [] @IBOutlet weak var tableViewTwo: UITableView! let ref = FIRDatabase.database().reference(fromURL: "Took the url out it is the right url to the database im sure") override func viewDidLoad() { super.viewDidLoad() getTeamsAndTimes() } func getTeamsAndTimes() { //let userID = FIRAuth.auth()?.currentUser?.uid ref.child("Teams").observeSingleEvent(of: .value, with: { (snapshot) in // Get user value let value = snapshot.value as? [String: String] ?? [:] for team in value { print(team.key) print(team.value) } // ... }) { (error) in print(error.localizedDescription) } } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 3 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell: UITableViewCell? = nil return cell! } }

Aunque esto no funciona, cuando la vista no carga nada, se imprime en la consola. Tengo el método ejecutado en ViewDidLoad ().

así es como se ve la información en la base de datos de firebase (tengo que irme, así que la subiré cuando regrese) aproximadamente es como

Equipos 0: "teamname" 1: "teamtwo"

entonces hay equipos y luego un signo más y se despliega para mostrar un diccionario con 0 como la clave y "teamname" como valor. No tengo la identificación aleatoria antes de las claves y valores si eso ayuda. Usé el método set en lugar del método push en python. el método set carga los datos sin el id.

resulta que no puedo subir imágenes de todos modos hasta que tenga 10 rep.

https://ibb.co/dSp5ka

El enlace de arriba le muestra cómo se ve la base de datos de firebase


En JavaScript, puede dar directamente una referencia a firebaseArray y obtener el valor como matriz de firebase.

var TeamRef = ref.child(''Teams''); var TeamInfo = $firebaseArray(TeamRef);

No estoy seguro acerca de Swift / Python.


Espero que esto le pueda ayudar

let value = snapshot.value as? [String: String] ?? [:] for team of value { print(team.key) print(team.value) }


Por la información proporcionada por usted en sus publicaciones anteriores; Esto es lo mejor que puedo decir -

Reglas de seguridad

{ "rules": { ".write" : "auth != null", ".read" : "auth != null", "Teams" :{ ".read" : "true", // Make it publicly accessible ".write" : "true", } } }

Código

var dict = NSMutableDictionary() // Global Declaration FIRDatabase.database().reference().child("shows").observeSingleEvent(of: .value, with: {(Snapshot) in for each in Snapshot.children{ self.dict.setObject((each as! FIRDataSnapshot).value as! String, forKey: String((each as! FIRDataSnapshot).key) as! NSCopying) print(self.dict) } })