我如何将一些Firebase Firestore文档进行随机排序?

8 浏览
0 Comments

我如何将一些Firebase Firestore文档进行随机排序?

这个问题已经有了答案:

Firestore:如何在集合中获取随机文档

如何在Swift中生成随机数?

如何随机排序集合中的文档。

这是我用来获取文档的函数,如何对它们进行随机排序?

func fetchExplore() {
    let query = COLLECTION_POSTS.limit(to: 6)
    if let last = lastDoc {
        let next = query.start(afterDocument: last)
        next.getDocuments { snapshot, _ in
            guard let documents = snapshot?.documents, !documents.isEmpty else { return }
            self.lastDoc = snapshot?.documents.last
            self.posts.append(contentsOf: documents.compactMap({ try? $0.data(as: Post.self) }))
        }
    } else {
        query.getDocuments { snapshot, _ in
            guard let documents = snapshot?.documents else { return }
            self.posts = documents.compactMap({ try? $0.data(as: Post.self) })
            self.lastDoc = snapshot?.documents.last
        }
    }
    print("DEBUG: did fetch posts Explore")
}

admin 更改状态以发布 2023年5月22日
0
0 Comments

通常解决这个问题的方法是添加一个或两个浮点数,您可以以此开始查询,例如:myDocsRef.whereField("random", isGreaterThanOrEqualTo: randomNumber).limit(1)

这篇答案深入探讨了这个问题:
Firestore:如何在集合中获取随机文档

0