在使用 firebase cloud firestore 存储我的所有文档的 flutter 应用程序上工作。我的文档有一个 startDateTime 字段,格式如下...
我想获取所有 startDateTime 大于或等于当前日期的记录。这是我的 flutter 代码...
Firestore.instance.collection("trips")
.where("trip.createdByUID", isEqualTo: this.userDetails['id'])
.where("trip.startDateTime", isGreaterThanOrEqualTo: new DateTime.now().toString() )
.getDocuments().then((string) {
print('Firestore response111: , ${string.documents.length}');
string.documents.forEach((doc) => print("Firestore response222: ${doc.data.toString()}" ));
})
但这不起作用。无法理解如何使用 isGreaterThanOrEqualTo
以使其正常工作。
需要一些指导。
最佳答案
只传递这个查询
.where("trip.startDateTime", isGreaterThanOrEqualTo: new DateTime.now())
由于 firebase 自动将 dart DateTime
对象转换为 Timestamp Firebase 对象。保存对象时也需要这样做。
如果对象类型是时间戳,您可以在右侧看到。
如果这不起作用,您可以在创建时以数字格式保存另一个对象。然后很容易比较。您可以像这样获得数字日期时间:
new DateTime.now().millisecondsSinceEpoch
关于firebase - 如何通过与 Flutter Cloud Firestore 插件中的日期进行比较来获取记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50663556/
相关文章:
flutter - 像 SliverAppBar 一样隐藏 TabBar
flutter - 如何在 Flutter 中使用音频播放器插件播放本地 mp3 文件
flutter - 在 AWS Device Farm、Saucelabs、Firebase 测试实
visual-studio - 是否可以在 Visual Studio 2017 IDE 上设置 f
android - Flutter 检索 ro.product.cpu.abi 的设备属性时出错
dart - Flutter:如何正确实现 FlutterError.OnError
flutter - 如何使用 FlutterDriver 检查小部件是否可见