我正在使用flutter,firestore和Google Cloud功能来构建移动应用程序。
一方面,我的一些Firestore查询是在客户端以dart代码执行的,如下所示:
T
现在这将返回一个文档列表,如果我在该文档中有一个时间戳字段,我可以调用Firestore.instance.collection(Collections.cars)
.where('free', isEqualTo: free)
.getDocuments();
-以便将Firestore时间戳转换为飞镖DateTime
另一方面,如果我在云函数中执行完全相同的操作并返回结果,然后在飞镖代码中使用该结果,则我的时间戳将为document.timestamp.toDate()
类型,并包含两个字段_seconds和_nanoseconds以及我无法对其调用HashMap
才能将其转换为飞镖中的.toDate()
!
我了解到,仅仅从云函数返回查询结果后,我就缺少了一些序列化步骤来获得与普通查询相同的结果,但是我想知道应该怎么做才能使同样的行为?
那么我可以在cloud函数的nodejs代码中做一些事情以更友好的方式返回时间戳,从而更轻松地转换为DateTime吗?
我可以遍历结果并将时间戳转换为nodejs Date,但我认为这不是最好的主意。