date - 如何使用 Firestore 仅从特定日期获取数据?
问题描述
我正在尝试使用 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
orstartAfter
和endAt
or的东西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();
推荐阅读
- javascript - 包裹中间件
- python - Spyder 启动错误的 Python 版本
- android - onPostExecute 中的空指针异常
- android - 我可以得到我的路由器的mac地址,有什么办法吗?
- javascript - Jquery全日历过滤器 - 不完全理解语句
- bundle - 根据类别页面上的默认产品显示捆绑产品默认价格
- python - Keras 模型:用于 model.fit 的相同数组未在 model.predict 中处理
- processing - 使用 Jekyll 的 p5js
- java - Spring Data Redis - 存储日期时出现问题
- java - Spring Boot App 不断创建新的数据库表