Sur*_*esh 7 dart firebase flutter google-cloud-firestore
在flutter应用程序上工作,我在其中使用Firebase Cloud Firestore存储我的所有文档。我的文档有一个startDateTime字段,其格式如下:
我想获取其startDateTime大于或等于当前日期的所有记录。这是我的颤振代码来做到这一点...
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()}" ));
})
Run Code Online (Sandbox Code Playgroud)
但这是行不通的。无法理解如何使用isGreaterThanOrEqualTo才能正常工作。
需要一些指导。
仅传递此查询
.where("trip.startDateTime", isGreaterThanOrEqualTo: new DateTime.now())
由于firebase自动将dart DateTime对象转换为Timestamp Firebase对象。保存对象时,您还需要执行相同的操作。
您可以在右侧看到对象类型是否为时间戳。
万一这不起作用,您可以以数字格式在创建时保存另一个对象。然后很容易比较。您可以像这样获取数字dateTime:
new DateTime.now().millisecondsSinceEpoch
| 归档时间: |
|
| 查看次数: |
3720 次 |
| 最近记录: |