我想从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()
}
}}}
答案 0 :(得分:0)
从Firestore加载文档时,您需要维护一个文档ID列表,以与您在表格视图中显示的值列表匹配。然后,当用户滑动值时,您可以查找文档ID,并使用以下命令删除文档:
self.db.collection("Miljoskjema").doc(documentId).delete()
如果您正在寻找如何实现灵感的方法,请查看FirebaseUI implementation of its data sources。其中的FUIBatchedArray
保留了从Firestore获取的documents,然后您可以get by their index,TableViewDataSource
然后将其用于implement cellForRowAtIndexPath
。