Firebase - Récupération de données 'selon critère'

Bonjour à  tous,


 


Pour expliquer mon problème, ou plutôt ma demande, je vous propose le code suivent :



let ref = self.myRootRef.childByAppendingPath("votes")
ref.queryOrderedByChild("valeurAComp").queryEqualToValue(nil)
.observeEventType(.Value, withBlock: { snapshot in
for child in snapshot.children {
print(child)
}
})

Le précédent si j'ai bien compris, sert a trier les données selon la valeur "valeurAComp" etant scrupuleusement égale (nil), c'est à  dire rien!


 


Ce que je cherche depuis plusieurs jours, c'est justement l'inverse. C'est-à -dire que la valeur de l'égalité soit également à  "non nil" quel que soit son contenu (String)


 


 


Quelqu'un saurait comment je pourrais faire svp ?


 


En vous remerciant par avance


Mots clés:

Réponses

  • Salut,


     


    En fait tu as essayé de faire :


     


    .queryEqualtToValue (!nil)

  • Hello,


     


    Yes essayé mais sans succès puisqu'il ya une erreur.


     


    Par contre j'ai trouver une solution de substitution consistant à  crée une variable supplémentaire que je peux avec une valeur connue "oui / non" en fonction de ce que j'attends de mes deux précédentes variables.


     


    par exemple : si variable 1 == "" et variable 2 == "xxx" alors variable 3 == "oui" sinon variable 3 == "non"


     


    j'envois ensuite cette variable sur Firebase et c'est spécieusement sur elle que je fait mes requêtes.


  • Merci beaucoup pour ta reponse 


  • LeChatNoirLeChatNoir Membre, Modérateur

    A priori, tu dois systémpatiquement avoir un couple Clé => valeur.


     


    Donc, le nil, dans une DB NoSql, c'est pas forcément judicieux.


     


    Il vaut mieux utiliser ce genre de notation :


     


    clé1 => 1


    clé2 => 0


     


    Par exemple.

  • ha oui exact. Merci bien j'y penserais pour pour les prochaine fois. c'est vrais que cela aurait été plus simple


Connectez-vous ou Inscrivez-vous pour répondre.