В этой статье мы будем использовать эту функцию в Firestore для запроса данных с двумя разными условиями диапазона.
Мы используем параметры запроса, предоставляемые firestore.
Если у нас есть только одно условие, код будет выглядеть так:
Хотя у меня было два условия для запроса данных, я использовал такую функцию:
Конечно, я получил ошибку,
ОШИБКА FirebaseError: неверный запрос.
Вы не должны вызывать startAt() или startAfter() до вызова Query.orderBy().
Вначале я просто хочу найти пересечение этих двух условий. Нравится,
А на веб-странице Querying Collections (AngularFirestore) упоминается, как получить пересечение с несколькими условиями. Но пример выполняется с методом «где», а не «порядком».
Мы можем обратиться к примеру здесь.
У меня не получилось переписать код с помощью «orderby», поэтому я отказался от запроса нескольких данных из firestore.
Поэтому я решил изменить способ получения данных. Я использовал только одно условие для запроса, а другое я отфильтровал на локальной стороне.
Вот код, как я запрашивал данные на странице .ts службы firestore.
На странице .ts я вызвал сервисную функцию и сделал вот так:
Это то, что я сделал после получения данных из firestore. Поскольку одним из типов данных является Date, я могу использовать функцию Date.parse() для передачи данных в миллисекунды, чтобы получить нужную мне информацию.