async created () {
const sn = await db.collection('forms').get()
sn.forEach(v => {
const { title, content } = v.data()
this.forms.push({
title, content, id: v.id
})
console.log(v.id)
})
},
del () {
db.collection('forms').doc().delete()
}
}
我成功地读取了数据并获得了ID。但我不知道该在doc((中放什么来删除。
如果你知道文档的ID,那么它就很容易了:
firebase.firestore().collection("forms").doc("docId").delete()
但在您的情况下,您必须添加获取文档ID的额外步骤。我不确定您的数据库结构,但例如,假设您想删除一个名为"的用户提交的表单;约翰;(您必须将名称存储在文档中(。然后你可以通过以下方式获取文档(及其ID(:
const formDoc = await firebase.firestore().collection("forms").where("name", "==", "john").get()
if (formDoc.exists) {
await firebase.firestore().collection("forms").doc(formDoc.id).delete()
}
同样,名称可能不是唯一的,因此最好依赖用户UID。如果您使用的是Firebase身份验证,请在文档中添加一个名为uid的字段,其中包含用户uid的值。然后您可以在查询中使用uid而不是名称。