我正在使用firebase cloud firestore来存储我的所有文档.我的文档有一个startDateTime字段,格式如下...

enter image description here

我想获取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对象转换为时间戳FireBase对象.保存对象时也需要执行相同的操作.

enter image description here

您可以在右侧看到对象类型是否为TIMESTAMP.

如果这不起作用,您可以在创建时以数字格式保存另一个对象.这样就很容易比较了.您可以这样获取数字日期时间:

new DateTime.now().millisecondsSinceEpoch

Flutter相关问答推荐

Flutter -使用最小高度展开

在Flutter 中压缩图片返回空

无法将Flutter 连接到Firebase

如果文档确实存在,则FiRestore将";False";返回到";if-Document-Existes";...还是我说错了?

CLI数据库连接后将SHA-1密钥添加到Firebase项目

不要跨同步间隔使用BuildContext

Flutter在CustomPainter的右上角和左上角添加了2条曲线

未处理的异常:第1行第5列出现错误:无效的媒体类型:应为/&;.从API获取数据时在Flutter中

如何在flutter中更改showModalBottomSheet小部件中CheckboxListTile小部件的值?

Flutter - Stripe:类型List 不是类型Map 的子类型? method_channel_stripe.dart 中的错误:263

改变步进器的线条 colored颜色 Flutter

Flutter HLS .m3u8 视频无法实时播放

在 Flutter 中更改高架按钮 OnPressed 的背景 colored颜色

仅使用 Flutter 在本地环境中托管 Web 服务器

Flutter 中的 Firebase 后台消息处理程序产生重复的隔离并运行应用程序两次

NoSuchMethodError:方法 '[]' 在 null 上被调用.我的信息流中的错误

如何在 Flutter 中的页面加载上的 Listview 上应用自动滚动

如何在Flutter 中水平滚动堆叠定位的小部件?

将容器扩展到安全区域 - Flutter

如何从我的Flutter 项目中删除错误?