【问题标题】:Retrieve all values of a field in a Cloud Firestore query检索 Cloud Firestore 查询中某个字段的所有值
【发布时间】:2019-03-19 21:36:18
【问题描述】:

我的users 集合中的每个user 都有三个字段:nameagegender

我只想创建一个包含所有名称的List(名称为Strings)。我该怎么做?

db.collection("phones").document(applicationID)
    .collection("users")
    .get()
    .addOnSuccessListener { result ->
        // something
        val users: List<String> = result.document.data("name").values // this is obviously the wrong syntax 
}

【问题讨论】:

    标签: android firebase kotlin google-cloud-firestore


    【解决方案1】:

    您将不得不迭代您的侦听器接收到的QuerySnapshot 中的文档(您的 QuerySnapshot 变量在这里是 result)。该 QuerySnapshot 包含结果中每个文档的 DocumentSnapshot。 QuerySnapshot 实现了 Iterable,因此您只需编写一个for 循环来按顺序处理每个快照。或者您可以使用一些 Kotlin 便捷方法:

    val names = result!!.map { snapshot ->
        snapshot["name"].toString()
    }
    

    names 这里是List&lt;String&gt;

    【讨论】:

      猜你喜欢
      • 2018-08-18
      • 2019-08-23
      • 2021-06-22
      • 2018-08-28
      • 1970-01-01
      • 2021-12-19
      • 2019-12-28
      • 2021-05-11
      • 2019-06-29
      相关资源
      最近更新 更多