繁体   English   中英

如何删除firestore中自动生成的id数据

[英]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.

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