【问题标题】:How to delete auto-generated id data in firestore如何删除firestore中自动生成的id数据
【发布时间】:2021-08-03 08:03:00
【问题描述】:
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() 中要删除什么。

【问题讨论】:

  • 什么。 您知道要删除的文档吗?作为人类:如果您查看 Firestore 控制台并单击文档,您如何知道要删除哪个文档?

标签: javascript firebase vue.js google-cloud-firestore


【解决方案1】:

如果您知道文档的 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 代替名称。

【讨论】:

    猜你喜欢
    • 2018-08-27
    • 2021-07-22
    • 1970-01-01
    • 2018-12-20
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 2019-09-10
    • 2021-02-06
    相关资源
    最近更新 更多