是否有一种方法可以在创建文档时按时间顺序对其进行排序?目前,他们到处都是。例如,在“待办事项”应用程序中,当您将新项目添加到集合时,它应显示在底部,最后而不是中间。
答案 0 :(得分:2)
您将需要根据文档中的某些数据定义顺序,并根据该字段对查询进行排序。
时基顺序的典型解决方案,以确保您的文档都包含一个时间戳字段,您可以使用该字段对它们进行排序。调用add()(或其他更新数据的方法)时,可以使用FieldValue.serverTimestamp()告诉Firestore使用当前时间:
collection(...).add({
..., // your other fields
createdOn: FieldValue.serverTimestamp()
})
然后,在使用orderBy()查询时,您可以使用该字段进行排序:
collection(...).orderBy('createdOn')
答案 1 :(得分:0)
尝试使用DateTime.now()
作为文档ID。这应该按时间顺序排列集合。
例如:
Firestore.instance.collection('Posts').document(DateTime.now().toString()).setData({});