Mam następującą strukturę na mojej bazy danych Firebase: Firebase wyszukiwanie według wartości dziecka
Chciałbym wyszukać użytkownika przez imię, nazwisko lub adres e-mail, ale jak mam klucz użytkownika w poziomie powyżej Nie wiem, jak mogę to osiągnąć. Robię i sesję administratora, aby nie mieć dostępu do klucza użytkownika.
Próbowałem:
let usersRef = firebase.database().ref('users');
usersRef.orderByValue().on("value", function(snapshot) {
console.log(snapshot.val());
snapshot.forEach(function(data) {
console.log(data.key);
});
});
Ale to przynosi wszystkich użytkowników w bazie danych. Jakieś pomysły?
Czy to możliwe, aby osiągnąć jak system auto-complete? Na przykład, jeśli użytkownik wpisze "John", czy możesz wywołać funkcję orderByChild na podstawie trafności? – Epicality
@ Egzotyczność, możesz użyć 'startAt()', aby zrobić coś podobnego do tego, o czym wspomniałeś. [Tutaj] (https://firebase.google.com/docs/database/web/lists-of-data#filtering_data) można znaleźć całą dokumentację. Ale po prostu wyszukaj jako 'equalTo()', ale tylko sprawdza, czy ciąg zaczyna się od wpisywania przez użytkowników. –
Jak mogę uzyskać węzły, które mają dwa pola z wartościami logicznymi: które pierwsze pole lub drugie to "prawda"? –