gpt4 book ai didi

swift - 范围过滤和按不同字段排序 Firestore Swift

转载 作者:行者123 更新时间:2023-11-28 07:50:52 24 4
gpt4 key购买 nike

我需要按 createtAt 对用户进行排序,但因为我还需要按年龄范围进行查询,所以首先需要在同一字段上进行排序,但这破坏了整个概念。

在不同领域也使用年龄范围时,是否无法按最新用户订购,或者是否有解决此问题的方法?

    database.collection("users")
.whereField("birthday", isGreaterThan: exploreSettings.upperAgeDate)
.whereField("birthday", isLessThan: exploreSettings.lowerAgeDate)
.whereField("isHidden", isEqualTo: false)
.order(by: "birthday")
.order(by: "createdAt", descending: true)
.limit(to: 8)
.start(afterDocument: lastSnapshot)
.getDocuments {...}

最佳答案

Firestore 查询只能在单个字段上排序。

对多个值进行排序的唯一方法是以有意义的方式将两个值组合到一个字段中。所以:如果你能找到一种方法来表达生日和创建时间戳之间的关系,你可以将这两个值组合在一个字段中并对其进行排序。

请注意,这几乎不可行。我知道的最常见的例子是 Geohashes ,它以允许查询地理范围的方式组合纬度和经度。

关于swift - 范围过滤和按不同字段排序 Firestore Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49744630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com