Estou usando o banco de dados em tempo real do Firebase há algum tempo e me deparei com o Cloud Firestore hoje. Não consigo descobrir como usar o operador LIKE no Firestore.
Banco de dados em tempo real do Firebase
ref.child("user").orderByChild("name").startAt(name).endAt(name+"uf8ff")
No Cloud Firestore, tentei
userRef.where("name", ">=", name); <br>
userRef.where("name", "<=", name);
Mas isso não funciona.
Respostas:
5 para resposta № 1Não existe um equivalente a LIKE, mas você pode fazer a filtragem de prefixos da mesma maneira que no RTDB.
A consulta que você escreveu é igual a igual. Você precisa fazer o mesmo fim por truque e fazer pouco menos do que <
.
5 para resposta № 2
Para resolver isso, você precisa alterar orderByChild
função com orderBy
. Então, use o seguinte código:
ref.child("user").orderBy("name").startAt(name).endAt(name+"uf8ff")
1 para resposta № 3
Não existe esse operador, os permitidos são ==, <, <=, >, >=.
Aqui você encontra todas as limitações de consultas no firestore na nuvem: https://firebase.google.com/docs/firestore/query-data/queries