Подтвердить что ты не робот

SQL LIKE оператор в Cloud Firestore?

Я использовал Firebase Real Time Fatabase некоторое время, и сегодня я сталкиваюсь с Cloud Firestore. Я не могу понять, как использовать LIKE-оператор на Firestore.

База данных реального времени Firebase

ref.child('user').orderByChild('name').startAt(name).endAt(name+'\uf8ff')

В Cloud Firestore я пробовал

userRef.where('name', '>=', name); <br>
userRef.where('name', '<=', name);

Но это не сработает.

4b9b3361

Ответ 1

Чтобы решить эту проблему, необходимо изменить orderByChild функцию с orderBy. Поэтому, пожалуйста, используйте следующий код:

ref.collection('user').orderBy('name').startAt(name).endAt(name+'\uf8ff')

Ответ 2

Не существует эквивалента LIKE, но вы можете настроить префиксную фильтрацию так же, как вы это делаете в RTDB.

Запрошенный вами запрос совпадает с равным. Вы должны сделать то же самое с помощью трюка и сделать меньше, чем <.

Ответ 4

К сведению: в более поздних версиях облачного пожарного хранилища (например, 0.12.5) методы startAt() и endAt() требуют список строк, а не одну строку.