Java 如何通过获取自动生成的id来删除firestore中的文档?

Java 如何通过获取自动生成的id来删除firestore中的文档?,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,如何在Firestore中删除文档或子文档&如何获取其自动生成的id,以便用户长按时,在列表中的行项目上选择“删除”,以便他/她可以轻松地从应用程序的用户界面中删除文档。您无法“获取”现有的随机文档。要删除文档,您需要执行以下两项操作之一: 记住客户机上生成的ID,并使用该ID构建DocumetnReference来删除文档 使用文档中已知的字段查询文档,然后在查询后将其删除。或者简单地查询所有文档并将其作为一个组进行处理 如果您不能使用文档的字段查询文档,并且您不知道文档的ID,那么您就有

如何在Firestore中删除文档或子文档&如何获取其自动生成的id,以便用户长按时,在列表中的行项目上选择“删除”,以便他/她可以轻松地从应用程序的用户界面中删除文档。

您无法“获取”现有的随机文档。要删除文档,您需要执行以下两项操作之一:

  • 记住客户机上生成的ID,并使用该ID构建DocumetnReference来删除文档
  • 使用文档中已知的字段查询文档,然后在查询后将其删除。或者简单地查询所有文档并将其作为一个组进行处理
如果您不能使用文档的字段查询文档,并且您不知道文档的ID,那么您就有点卡住了,您需要更仔细地考虑您的数据模型

如何删除Firestore中的文档或子文档

要删除文档,必须使用
delete()
方法

科特林代码

db.collection("your_collection_name").document("documentId")
        .delete()
        .addOnSuccessListener { Log.d(TAG, "DocumentSnapshot successfully deleted!") }
        .addOnFailureListener { e -> Log.w(TAG, "Error deleting document", e) }
您需要知道要删除的
集合名称
文档ID
。使用
集合名称
文档ID
从集合中删除文档

查看更多信息

如何获取自动生成的id

要阅读集合中的所有文档,您还需要知道集合名称

要在Kotlin中阅读集合中的文档:

db.collection("your_collection_name")
        .get()
        .addOnSuccessListener { result ->
            for (document in result) {
                Log.d(TAG, "${document.id} => ${document.data}")
            }
        }
        .addOnFailureListener { exception ->
            Log.d(TAG, "Error getting documents: ", exception)
        }
document.id
将为您提供每个
documentId
。使用此
documentId
删除文档


要从集合检查中读取所有文档

如何获取随机生成的特定文档ID?您已经很好地解释了该场景,但是如何跟踪ID?我现在有点困了。一个设计模型类如何消除这个问题?