У меня есть collection
в Firestore, который содержит строку на следующие 365 дней.По сути, это кодовое слово, которое наше приложение должно отображать в этот конкретный день.
Мы заметили, что если пользователь изменяет дату и возвращается в приложение, Firestore правильно возвращает кодовое слово для этого дня, потому что наш запросиспользует сегодняшнюю дату для запроса кодового слова.
Раньше у нас был специальный API на сервере, который выбирал на основе времени сервера, чтобы гарантировать, что это не может произойти.
Что будетлучший способ повторить это поведение с Firestore?Единственный способ думать - перестать хранить все данные в базе данных и ежедневно вставлять их из файла, размещенного на сервере.Это может быть лучшим способом, но я хотел задать вопрос перед выбором этого решения.
Вот наш текущий запрос
const codeword = await firebase
.firestore()
.collection('emoji')
.where('valid_from', '>=', new Date())
.limit(1)
.orderBy('valid_from', 'asc')
.get();
// today's codeword is "whatever" based on the client time
// ... can I use the server's time instead?