Я знаю, как записать метку времени сервера в Firestore в виде строки даты :

doc_ref.set({ts: firebase.firestore.FieldValue.serverTimestamp()});

Но как я могу вместо этого сохранить его временную метку unix в виде числа? Это вообще возможно? Мне нужно иметь возможность отразить подмножество моих документов Firestore в Algolia, и я не верю, что могу отсортировать индекс Algolia по строкам меток времени.

5
Vincent 31 Дек 2017 в 07:31

1 ответ

Лучший ответ

Он не сохраняется в документе как строка - просто так serverTimestamp отображается в консоли. Если вы внимательно изучите поле ts, вы увидите, что у него есть тип «отметка времени». Когда вы перейдете к редактированию значения в консоли, щелкнув его, вы увидите, что тип значения четко отображается как тип даты. Когда вы прочитаете его обратно (в JavaScript), вы получите обратно объект Date, и вы сможете получить отсюда время на основе эпохи Unix.

8
Doug Stevenson 31 Дек 2017 в 04:56