通过文档 ID 数组从 firebase 获取文档 (Kotlin)

Kar*_*ouh 0 android document kotlin firebase google-cloud-firestore

有没有办法通过 ID 列表从 firebase 获取文档?我有这个列表: val IDs= listOf("id1","id2","id3","id4") 我想获取所有这些文档而不循环遍历它们。如果可能的话,像这样: Firebase.firestore.collection("users").documents(IDs).get()

小智 5

Firestore 客户端库没有批量读取的概念,批量读取允许根据给定的 ID 检索一组文档。FieldPath.documentId() 尽管如此,您仍然可以使用object进行对文档 id 进行过滤的查询。该值转换为一个特殊的哨兵,允许查询文档 ID,因此您可以编写如下查询:

Firebase.firestore.collection("users")
                  .whereIn(FieldPath.documentId(), listOf("id1", "id2", [...], "id10"))
Run Code Online (Sandbox Code Playgroud)

这种方法有一个需要注意的限制。该whereIn过滤器最多接受10 个值。如果您需要检索更多内容,则需要进行多次查询。

或者,布雷特斯基建议的读取一堆单个文档的方法也可以。