Come un principiante in Firebase ho cercato di imitare un tipo di richiesta "in cui la clausola" per recuperare portafoglio dell'utente in questo semplice caso d'uso:Come utilizzare query Firebase equalTo (valore, chiave)?
User
48bde8f8-3b66-40bc-b988-566ccc77335c
email: "[email protected]"
username: "userTest1"
UserWallet
F4PvtvNT2Z
coins: 26
someList
elemet1
elemet2
user: "48bde8f8-3b66-40bc-b988-566ccc77335c"
Per prima cosa ho cercato di codificare la mia richiesta in questo modo:
Firebase root = new Firebase("https://myApp.firebaseio.com/");
Firebase ref = root.child("UserWallet");
Query query = ref.equalTo("48bde8f8-3b66-40bc-b988-566ccc77335c", "user");
Il risultato è stato nullo, così ho scritto questa query:
Query query = ref.orderByChild("user").equalTo("48bde8f8-3b66-40bc-b988-566ccc77335c", "user");
risultato era nulla di nuovo. L'unico modo per recuperare il portafoglio è stato con questa query:
Query query = ref.orderByChild("user").equalTo("48bde8f8-3b66-40bc-b988-566ccc77335c");
Così Dovrei avere di usare sempre en "orderByChild()" query prima di utilizzare "equalTo()"?
E così, qual è lo scopo della query "equalTo (valore String, String key)" confrontare "equalTo (String value) dal momento che solo il secondo funziona correttamente?
Grazie per la rapida risposta.Stavo cercando una specie di struttura dati che hai scritto (l'ultima) e avevo bisogno di alcune conferme; quindi è fantastico. Circa la guida di Firebase, ovviamente l'ho letta prima di fare una domanda qui, ma la relazione tra orderBy() e EqualTo() non era abbastanza chiara per me. – toofoo
Se ci sono 10 portafogli per l'utente con uid = 1, devo eseguire 11 richieste, prima con '' 'UserWallet''' e le prossime 10 richieste aggiuntive. È ancora più efficiente di utilizzare una richiesta con una query? – JCarlos
http://stackoverflow.com/questions/35931526/speed-up-fetching-posts-for-my-social-network-app-by-using-query-instead-of-obse/35932786#35932786 –