В этой статье мы будем использовать эту функцию в Firestore для запроса данных с двумя разными условиями диапазона.

Мы используем параметры запроса, предоставляемые firestore.

(Таблица из angularfire)

Если у нас есть только одно условие, код будет выглядеть так:

Хотя у меня было два условия для запроса данных, я использовал такую ​​функцию:

Конечно, я получил ошибку,

ОШИБКА FirebaseError: неверный запрос.

Вы не должны вызывать startAt() или startAfter() до вызова Query.orderBy().

Вначале я просто хочу найти пересечение этих двух условий. Нравится,

А на веб-странице Querying Collections (AngularFirestore) упоминается, как получить пересечение с несколькими условиями. Но пример выполняется с методом «где», а не «порядком».

Мы можем обратиться к примеру здесь.

У меня не получилось переписать код с помощью «orderby», поэтому я отказался от запроса нескольких данных из firestore.

Поэтому я решил изменить способ получения данных. Я использовал только одно условие для запроса, а другое я отфильтровал на локальной стороне.

Вот код, как я запрашивал данные на странице .ts службы firestore.

На странице .ts я вызвал сервисную функцию и сделал вот так:

Это то, что я сделал после получения данных из firestore. Поскольку одним из типов данных является Date, я могу использовать функцию Date.parse() для передачи данных в миллисекунды, чтобы получить нужную мне информацию.