Для создания мобильного приложения я использую флаттер, пожарный магазин и облачную функцию Google.
С одной стороны, некоторые из моих запросов в Firestore выполняются на стороне клиента в коде dart примерно так:
Firestore.instance.collection(Collections.cars)
.where('free', isEqualTo: free)
.getDocuments();
Теперь это возвращает список документов, и если у меня есть поле метки времени в этом документе, я могу позвонить document.timestamp.toDate()
- чтобы преобразовать метку времени Firestore в дату-время дротика
С другой стороны, если я делаю то же самое в своей облачной функции и возвращаю результат, а затем использую этот результат в коде дротика, моя отметка времени будет иметь тип HashMap
и будет содержать два поля _seconds и _nanoseconds, и я не смогу назовите .toDate()
, чтобы преобразовать его в DateTime
в дротике!
Я понимаю, что просто возвращая результат запроса из облачной функции, я пропускаю некоторые шаги сериализации, чтобы получить тот же результат, что и при обычном запросе, но мне интересно, что мне нужно сделать, чтобы получить такое же поведение?
Итак, могу ли я сделать что-то в своем коде nodejs в облачной функции, чтобы возвращать метку времени более дружественным образом, упрощая преобразование в DateTime?
Я мог бы перебрать результат и преобразовать метку времени в nodejs Date, но я не думаю, что это лучшая идея.