【发布时间】:2021-08-18 01:08:50
【问题描述】:
我有一个 Firestore 数据库,请参见下图。我想检索医生的信息。 “医生”集合下的所有这些文档都来自经过身份验证的用户,我已经用他们的 ID 保存了这些文档。 我正在使用此代码获取文档,但它返回 0。我认为问题在于身份验证。请帮我解决这个问题。
val query = fireStoreDbRef.collection(Constants.COLLECTION_DOCTORS)
query.get().addOnSuccessListener {
Log.d("TAG", "getAllDoctors: "+it.size())
}
【问题讨论】:
-
我不认为这里的问题是身份验证,因为您注释掉了允许所有人访问的身份验证规则。您可以检查的几件事是
Constants.COLLECTION_DOCTORS的值是否是您期望的值,而不是在 sucessListener 中使用it运算符,而是按照 documentation 中的描述进行操作并使用documents结果。你可以试试吗? -
@RafaelLemos 感谢您的回复。我已经相应地尝试了一切都很好,但没有给我任何回报。 \n fireStoreDbRef.collection("doctors").get().addOnSuccessListener { 文档 -> for (文档中的文档) { Log.d("TAG", "${document.id} => ${document.data} ") } } .addOnFailureListener { exception -> Log.d("TAG", "Error getting documents: ", exception) }
-
我刚刚发现你的控制台中的documentIds是斜体的,这不是正常的显示,说明这些文件已经被删除了。尝试向该集合添加一个新文档并尝试查询它,到那时它应该可以工作了。
-
@RafaelLemos 谢谢你,你是对的,因为斜体文档我已经手动添加了一个文档到集合中并且它正在工作。但是现在我想知道为什么这些文件变成斜体,因为它们没有被删除并且里面有数据。
-
我找到了为什么文档是斜体以及如何处理它们的答案。很有帮助stackoverflow.com/questions/48137582/…
标签: kotlin google-cloud-firestore firebase-security