在今天的日期Firestore之后查询-Swift

时间:2020-05-10 21:30:15

标签: swift date google-cloud-firestore

我基本上想查询今天的日期(前后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())

1 个答案:

答案 0 :(得分:0)

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

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

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

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