我想知道是否可以通过往返Firestore的往返(网络呼叫)中的ID列表获取多个文档.
我目前正在使用新的 Firestore 作为后端/数据库对 Android 应用程序进行概念验证。我需要通过他们的 id 获取一堆文档(它们都在同一个集合中)
现在,我正在遍历 id 列表并一个一个地获取它们并将它们存储在一个列表中,该列表又更新了应用程序中的 RecycleView。这似乎是很多工作,而且性能不是很好。
从 Firestore 获取文档列表而不必循环所有 id 并一个一个地获取它们的正确方法是什么?
现在我的代码看起来像这样
for (id in ids) {
FirebaseFirestore.getInstance().collection("test_collection").whereEqualTo(FieldPath.documentId(), id)
.get()
.addOnCompleteListener {
if (it.isSuccessful) {
val res = it.result.map { it.toObject(Test::class.java) }.firstOrNull()
if (res != null) {
testList.add(res)
notifyDataSetChanged()
}
} else {
Log.w(TAG, "Error getting documents.", it.exception)
}
}
}
Run Code Online (Sandbox Code Playgroud)