我正在尝试使用Firestore将集合中的所有文档放入列表中,我希望仅在特定年份上传的文档。
所有文档中都有一个名为“dateAdded”的字段,该字段存储格式为“dd-MM-yyyy”的日期。
为了测试,我只有3个文档,其中2个是在2020年上传的,而1个是在2019年上传的
QuerySnapshot querySnapshot= await Firestore.instance
.collection('Deceased')
.where("dateAdded",
isGreaterThanOrEqualTo:"01-01-"+year )
.where("dateAdded",isLessThanOrEqualTo:"31-12-"+year )
.getDocuments();
我试图这样做,只有第一个条件有效。有什么建议么?
最佳答案
有一种可以使用的叫做startAt
或startAfter
和endAt
或endBefore
的东西,您必须首先在要使用的查询字段上进行排序,在这里,我在使用startAt
和endAt
,它们应该为您提供想要的结果相信是一年的记录
QuerySnapshot querySnapshot= await Firestore.instance
.collection('Deceased')
.orderBy('dateAdded')
.startAt([DateTime(year,1,1,0,0,0)])
.endAt([DateTime(year,12,31,23,59,59])(
.getDocuments();
关于date - 如何使用Firestore仅从特定日期获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59729115/