Swift Firestore删除文件

时间:2019-09-15 11:43:24

标签: swift google-cloud-firestore document

我想从Firestore数据库中删除文档。但是我的代码仅使我删除所有文档。不知何故,我需要获取与我要滑动的表格视图中的行相对应的DocumentID。有什么建议么?

我的代码如下:

func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {


        self.db.collection("Miljoskjema").getDocuments { (snapshot, err) in

            if let err = err {
                print("Error getting documents: \(err)")
            } else {
                for document in snapshot!.documents {

                    document.reference.delete()

                    }
                }}}

1 个答案:

答案 0 :(得分:0)

从Firestore加载文档时,您需要维护一个文档ID列表,以与您在表格视图中显示的值列表匹配。然后,当用户滑动值时,您可以查找文档ID,并使用以下命令删除文档:

self.db.collection("Miljoskjema").doc(documentId).delete()

如果您正在寻找如何实现灵感的方法,请查看FirebaseUI implementation of its data sources。其中的FUIBatchedArray保留了从Firestore获取的documents,然后您可以get by their indexTableViewDataSource然后将其用于implement cellForRowAtIndexPath