我读过这个链接Firestore: How to get random documents in a collection,但看起来我的问题不一样。因为这些解决方案不适合具有where条件的查询。
我的收藏品是这样的:

我有140 K文件在这个收藏中。我想得到任意类别过滤的任意X个文档量.
我的代码看起来如下(Swift):
Firestore.firestore().collection("quotes")
.whereField("categories", arrayContainsAny: ['change'])
.limit(to: 25)此代码总是返回相同的文档。如何按类别筛选随机文档?
发布于 2022-01-20 05:40:41
我同意弗兰克的观点,link拥有你所需要的一切。你可以把这里的条件联系起来。
遵循这些步骤之后,您可以进行如下查询:
Firestore.firestore().collection("quotes")
.whereField("categories", arrayContainsAny: ['change'])
.whereField("random", isGreaterThanOrEqualTo: random)
.limit(to: 25)编辑啊哈我明白你的意思了。我会通过再次查询来解决这个问题。
如果结果小于所需的(25),则运行另一个查询,类似于
Firestore.firestore().collection("quotes")
.whereField("categories", arrayContainsAny: ['change'])
.whereField("random", isLessThan: random)
.limit(to: 25)然后,您可以存储这两个查询的一些结果,以获得您的25。
https://stackoverflow.com/questions/70776663
复制相似问题