Od dłuższego czasu korzystam z Bazy Danych Fatbase Firebase i dzisiaj spotykam Cloud Firestore. Nie mogę się dowiedzieć, jak korzystać z operatora LIKE w Firestore.
Baza danych Firebase w czasie rzeczywistym
ref.child("user").orderByChild("name").startAt(name).endAt(name+"uf8ff")
W Cloud Firestore próbowałem
userRef.where("name", ">=", name); <br>
userRef.where("name", "<=", name);
Ale to nie działa.
Odpowiedzi:
5 dla odpowiedzi № 1Nie ma odpowiednika LIKE, ale możesz filtrować prefiksy w taki sam sposób jak w RTDB.
Zapytanie, które napisałeś jest takie samo jak równe. Musisz zrobić ten sam koniec trikiem i zrobić tylko mniej niż <
.
5 dla odpowiedzi nr 2
Aby rozwiązać ten problem, musisz zmienić orderByChild
funkcja z orderBy
. Więc proszę użyć następującego kodu:
ref.child("user").orderBy("name").startAt(name).endAt(name+"uf8ff")
1 dla odpowiedzi nr 3
Nie ma takiego operatora, dozwolone są ==, <, <=, >, >=.
Tutaj możesz znaleźć wszystkie ograniczenia zapytań w chmurze firestore: https://firebase.google.com/docs/firestore/query-data/queries