Je voudrais interroger un enfant particulier à partir du tableau des codes hexadécimaux couleur.
Voici un aperçu de la structure de ma database:
Comment puis-je interroger un code hexadécimal particulier et get le tableau entier de son object parent?
Vous ne pouvez pas requestr si une valeur spécifique existe dans une list. C'est l'une des nombreuses raisons pour lesquelles la documentation Firebase déconseille d'utiliser des arrays dans la database.
Mais dans ce cas (et la plupart des cas que je rencontre), vous n'avez probablement pas besoin d'un tableau. Dites que vous vous souciez uniquement des colors choisies par votre user. Dans ce cas, vous pouvez stocker plus efficacement les colors en tant qu'set :
palettes -KSmJZ....A5I "0x474A39": true "0xbA9A7C": true "0xDEDEDF": true "0x141414": true "0x323E35": true
Je l'ai fait d'une manière différente,
fait une fonction qui fait ceci:
let databaseRef = FIRDatabase.database().reference() let HEX1 = hex1.text! as Ssortingng let HEX2 = hex2.text! as Ssortingng let HEX3 = hex3.text! as Ssortingng let HEX4 = hex4.text! as Ssortingng let HEX5 = hex5.text! as Ssortingng let URL = url.text! as Ssortingng // First set let colorArray1 = [HEX2, HEX3, HEX4, HEX5, URL] databaseRef.child("palette").child(HEX1).setValue(colorArray1) // second set let colorArray2 = [HEX1, HEX3, HEX4, HEX5, URL] databaseRef.child("palette").child(HEX2).setValue(colorArray2) // third set let colorArray3 = [HEX1, HEX2, HEX4, HEX5, URL] databaseRef.child("palette").child(HEX3).setValue(colorArray3) // fourth set let colorArray4 = [HEX1, HEX2, HEX3, HEX5, URL] databaseRef.child("palette").child(HEX4).setValue(colorArray4) // fifth set let colorArray5 = [HEX1, HEX2, HEX3, HEX4, URL] databaseRef.child("palette").child(HEX5).setValue(colorArray5)
de sorte que lorsque je cible l'un des 5 hexs, cela me ramènera tout le tableau avec.