![](/img/trans.png)
[英]How to get the auto-generated ID from .set() in firebase Firestore?
[英]How to delete auto-generated id data in firestore
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。 我不确定您的数据库结构,但例如,假设您要删除名为“john”的用户提交的表单(您必须将名称存储在文档中)。 然后您可以通过以下方式获取文档(及其 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 而不是名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.