首页 > 解决方案 > 在今天的日期火库之后查询 - Swift

问题描述

我基本上想查询今天的日期(正负 12 小时),或者我不介意从今天的日期开始查询,例如.whereField("Date" isGreaterThanOrEqualTo: Date())唯一的问题是我已经用完了我的“大于”获取。有解决办法吗?

 let db = Firestore.firestore()

    let ref = db.collection("Posts")
        .whereField("myCoordinates", isGreaterThan: SWCorner)
        .whereField("myCoordinates", isLessThan: NECorner)
        .whereField("Date()", isGreaterThan: Date())

标签: swiftdategoogle-cloud-firestore

解决方案


从错误消息中可以看出,这种特定类型的查询是不可能的。您可以做的是将日期存储为更通用的日期,例如 YYYYMMDD,然后在给定当前时间的情况下查询可能匹配的特定日期。您将使用“in”查询,例如:

.whereField("date", in: ["x", "y"])

其中 x 和 y 是您感兴趣的帖子的格式化日期。然后您可以过滤掉客户端上超出您想要的范围的结果。

在任何情况下,您都需要使用不同的字段数据,以避免出现多个范围查询。


推荐阅读