Как сделать запрос в Firestore для документов с полем отметки времени? - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу получить все документы с START_DATE в течение последних 10 дней. Например, если сегодня 17-04-2020 (ДД-ММ-ГГГГ), то я хочу получить документы, которые имеют START_DATE 7-04-2020 или выше, структура Моя коллекция выглядит как это:

enter image description here

Мне нужно сделать это для моего android приложения в Java.

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

Если вы хотите запросить поле метки времени в коллекции, вы можете использовать объект java Date или Firestore Timestamp с фильтром диапазона.

db
    .collection("POLL")
    .whereGreaterThan("START_DATE", date1)
    .whereLessThan("START_DATE", date2)

Вам нужно будет указать значения date1 и date2, которые соответствуют вашим потребностям.

0 голосов
/ 17 апреля 2020

Я думаю, что вы не читали документы, проверьте это, как только вы получите решение: https://firebase.google.com/docs/firestore/query-data/queries

Используйте, где запрос с условием в соответствии с вашим требованием.

Пример:

    db.collection("cities")
            .whereEqualTo("capital", true)
            .get()
            .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                    if (task.isSuccessful()) {
                        for (QueryDocumentSnapshot document : task.getResult()) {
                            Log.d(TAG, document.getId() + " => " + document.getData());
                        }
                    } else {
                        Log.d(TAG, "Error getting documents: ", task.getException());
                    }
                }
            })

;

РЕДАКТИРОВАТЬ

https://maye.pwafire.org/articles/using-timestamp-to-filter-and-order-firebase-cloud-firestore-documents/

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