繁体   English   中英

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

[英]How to delete a document in firestore by fetching its autogenerated id?

如何删除 Firestore 中的文档或子文档以及如何获取其自动生成的 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) }

您需要知道要删除的collection namedocumentId 使用您的collection namedocumentId从集合中删除文档。

检查为更多

如何获取其自动生成的 id

要读取集合中的所有文档,您还需要知道collection name

要在 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删除文档。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM