Dart Flatter Firestore服务器端时间戳
我需要在使用Flatter应用程序添加到Firestore的新文档上添加服务器端时间戳。我知道我应该使用Dart Flatter Firestore服务器端时间戳,dart,google-cloud-firestore,flutter,Dart,Google Cloud Firestore,Flutter,我需要在使用Flatter应用程序添加到Firestore的新文档上添加服务器端时间戳。我知道我应该使用FieldValue.serverTimestamp,但我不确定在哪里可以找到它 截至9月5日,更新后的cloud\u firestorev0.8.0库现在已启用。宇宙中现在一切都好了'timestamp':timestamp.now() Timestamp.now()是cloud\u firestore的一部分 示例 屏幕截图显示该库是从cloud_firestore导入的,并在写入的数据
FieldValue.serverTimestamp
,但我不确定在哪里可以找到它 截至9月5日,更新后的cloud\u firestore
v0.8.0库现在已启用。宇宙中现在一切都好了'timestamp':timestamp.now()
Timestamp.now()是cloud\u firestore的一部分
示例
屏幕截图显示该库是从cloud_firestore导入的,并在写入的数据中创建服务器生成的时间戳。通过添加示例用法扩展@spongyboss的答案(从2020年4月起生效):
_firestore.collection('messages').add({
'text': messageText,
'sender': loggedInUser.email,
'created': FieldValue.serverTimestamp()
});
“已创建”将存储为时间戳
样本分类:
_firestore.collection('messages')
.orderBy('created', descending: false)
.snapshots()
在2019年,我相信Timestamp.now()会返回客户机时间的时间戳,而不是服务器端的时间戳。这将替换已被删除的FieldValue.serverTimestamp()。文档现在会生成
FieldValue.serverTimestamp()
thisTimestamp.now()
返回一个以微秒为单位的客户端日期时间。这是正确答案,但请添加更多代码,说明存储变量的数据类型,以及如何按此值排序?@ShajeelAfzal所有这些问题都不在OP的帖子中。如果您希望回答这些问题,您可以始终创建一个新的。我不知道为什么,但我在serverTimestamp()中遇到了一个问题,似乎需要一些时间来为服务器写入时间,并且我的第一个快照具有空值!在这里,我提出了自己的问题。如果您想在脱机模式下访问此值,那么此值不可用。除非您按照vscode控制台中显示的索引路径创建索引,否则,orderBy
将无法工作。我已经运行了firebase提供的索引url,orderby
为我工作。谢谢