Si stanno indicizzando gli indici per /users
. Non esiste alcun nodo figlio users
direttamente nella radice dell'albero, quindi tali indici saranno vuoti.
sei interrogazione /movieLens/users
, così che è dove l'indice dovrebbe essere definito:
{
"rules": {
"movieLens": {
"users" : {
".indexOn": ["age", "gender", "occupation", "zipCode"]
},
".read": true,
".write": true
}
}
}
aggiornamento per il problema nei commenti:
sei memorizzare l'età dell'utente sotto forma di stringa, quindi non possiamo filtrarli come un numero. La soluzione è quella di correggere i tuoi dati e memorizzarli come un numero.
Ma nel frattempo questa query funziona un po ':
https://movielens3.firebaseio.com/movieLens/users.json?orderBy="age"&equalTo="35"
In JavaScript:
ref
.orderByChild('age')
.startAt('35')
.limitToFirst(3)
.once('value', function(s) {
console.log(JSON.stringify(s.val(), null, ' '));
}, function(error) {
if(error) console.error(error);
})
Il "abbastanza" è che lo fa una sorta lessicale, non una numerico. Correggi i dati per una soluzione reale.
Nota che stai ignorando anche le best practice di Firebase memorizzando i dati come array. Questo mi causava già problemi nell'API REST, motivo per cui ho abbandonato lo print=pretty
. I altamente consiglia di leggere il Firebase programming guide for JavaScript developers dall'inizio alla fine e seguire i consigli in là. Le poche ore che impiegano ora, impediranno molte ore di problemi lungo la linea.
fonte
2016-01-23 23:03:08
risolve il problema ma la query 'https://movielens3.firebaseio.com/movieLens/users.json?orderBy=" age "e startAt = 25 & print = pretty' non filtra nulla. restituisce tutti i record –
Stai memorizzando la tua età come una stringa. Non è una buona idea. Vorrei anche * seriamente * prendere in considerazione la creazione di indici personalizzati (solo elenchi di ricerca che si mantengono), perché si potrebbero verificare rapidamente problemi di prestazioni senza questi. Vedi questo post del blog: https://www.firebase.com/blog/2013-04-12-denormalizing-is-normal.html e questo articolo: https://highlyscalable.wordpress.com/2012/03/01/ nosql-data-modellazione-tecniche / –