我的Firebase数据结构如下:
如何获取集合(人)中第一个文档(0)中所有键的名称。这些值是动态分配的,因此我无法直接查询文档,只能查询集合人员。
答案 0 :(得分:0)
您将只需要阅读文档。请参阅reading a document from Firestore的文档。
firestore
.collection("People")
.document("0")
.get()
.addOnSuccessListener { document ->
if (document != null) {
Log.d(TAG, "DocumentSnapshot data: ${document.data}")
} else {
Log.d(TAG, "No such document")
}
}
在成功侦听器内部,DocumentSnapshot将包含一个字段映射,以表示您可以使用getData()获得的值:
.addOnSuccessListener { document ->
if (document != null) {
val map = document.getData()
// map has keys with values and values with data
} else {
Log.d(TAG, "No such document")
}
}
如果您不知道文档的ID,则无法有效地查询它。 Firestore不会对文档强加命令。您在控制台中看到的只是文档ID的字母顺序列表,该列表与它们的添加顺序无关。
如果需要订购文档,则应使用一些字段值(例如时间戳记值),并使用该字段值查询集合以找到最新的值。