android - FireBase Firestore 按 ID 列表检索多个文档

标签 android firebase kotlin google-cloud-firestore

我有两个系列,例如 CitiesHouses .房屋不是城市的嵌套集合,但房屋包含对城市的引用。

Wat是获取列表中每所房屋的城市信息的最有效方法吗?

例如

class City {
  var name: String = ""
  var property1: String = ""
  var property2: String = ""
}

class House {
  var cityId: String = ""
  var propertyA: String = ""
  var propertyB: String = ""
}

我有一个房屋 list ,我如何为该列表中的每座房屋获取城市名称?这是否可以通过查询来实现,或者我应该只获取所有城市(或每个城市)并将它们映射到代码中。

城市和房屋只是一个例子,但与我的实际情况相似。

最佳答案

您可以使用 com.google.firebase.firestore.FieldPath。这在 kotlin 中为我工作:

//friendsIDs is ArrayList<String>
    firestore!!.collection("users").whereIn(FieldPath.documentId(), friendsIDs).get().addOnCompleteListener {usersDocs ->
        if (usersDocs.isSuccessful) {
            val result = usersDocs.result!!
            val docs = result.documents
            for (userDoc in docs) {
                val friendData = userDoc.data!!
                //...
            }
        } else {
            Log.e("FirestoreRequest", "Error getting documents.", usersDocs.exception)
        }
    }

关于android - FireBase Firestore 按 ID 列表检索多个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51212553/

相关文章:

android - 多个dex文件定义Landroid/support/v4/content/res/TypedArrayUtils

android - 如何使用上传 key 制作签名的 apk?

android - 查询和更新 children 中的 children 参数

Python - Firebase 数据库引用错误

android-studio - Android Studio 3.6 仅在第二次运行时应用更改

unit-testing - MockK - 在顶级 val 上调用模拟/ spy 顶级扩展方法

postgresql - 不接受嵌入对象的空值

android - 如何在 Android 的 ArrayAdapter 上更新 ArrayList 中的项目

android - 当 View 可见性为 View.GONE 时,RelativeLayout 出现问题

swift - addSnapshotListener 快速 Firestore 行为