как получить документы только из пожарного магазина месяца - PullRequest
0 голосов
/ 09 апреля 2020

Я делаю запрос для выборки документов только за 1 месяц.

Я храню время создания самого документа

timestamp : 9 Apr, 2020 10:03:43 AM

Теперь в своем запросе я хочу получить все документы за текущий месяц, но я не хочу использовать currentDate от моего клиента (поэтому его нельзя изменить), но также я не хочу запрашивать этот документ, чтобы найти временные метки этого документа

Запрос

FirebaseFirestore.getInstance().collection("orders").whereEqualTo("shopId",shopId)
                .whereEqualTo("status", 7).startAt().endAt().get().await()

Я хочу знать эффективную серверную аппроксимацию, установленную на .startAt().endAt(), чтобы запрашивать только документы со статусом 7, в которых за последний месяц

есть идеи?

1 Ответ

2 голосов
/ 09 апреля 2020

Firestore не предлагает синхронизированные запросы, которые ограничивают диапазон документов в зависимости от времени сервера. Вы должны будете верить, что клиент отправляет правильное время.

Единственный контроль, который у вас есть со временем, - это использование request.time в правилах безопасности. Вы можете написать правило, разрешающее запросы, которые попадают только в промежутки времени, основанные на отметке времени сервера, но клиент все равно должен правильно указать время в запросе. Правила не смогут фильтровать результаты по времени.

Возможно, вы захотите прочитать больше о том, как отметки времени сервера работают с правилами безопасности, в конце этой статьи .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...