Как написать запрос получить Firestore текущее время сервера, используя Firebase Java Admin SDK - PullRequest
0 голосов
/ 15 мая 2018

Я хочу написать запрос, чтобы получить список документов, которые были сохранены за последние 24 часа. Когда документ был создан, я добавляю значение «последнее обновление», используя FieldValue.serverTimestamp(). Теперь мой запрос будет выглядеть так:

Date pastDay = (getFireStoreServerTime) - (24hours)
Query query = collectionRef.orderBy("lastUpdated", Query.Direction.DESCENDING).where("last updated" > pastDay);

Однако я не смог найти API в java admin SDK, чтобы узнать время сервера. Поддерживается ли это в Firebase Admin SDK для Cloud FireStore?

1 Ответ

0 голосов
/ 15 мая 2018

Firestore не имеет API, который просто выставляет время сервера.Однако серверные SDK предоставляют «время чтения», которое вы можете (ab) использовать для извлечения текущего времени серверной части.

DocumentSnapshot doc = firestore.doc("coll/nonexistingdocument").get();
Instant instant = doc.getReadTime();
Date pastDay = (instant - 24hours);

Вы можете сделать то же самое с QuerySnapshot, ноэто более дорогая операция.

...