如何从firebase中删除文档

Posted

技术标签:

【中文标题】如何从firebase中删除文档【英文标题】:how to delete document from firebase 【发布时间】:2019-08-14 23:38:42 【问题描述】:

我需要通过单击它的图标从 firebase 中删除一个文档。问题是我不知道如何在 vuetify 中标记每个文档的特定 id

这是我的卡片(1 个项目 1 张卡片)

  <v-card flat v-for="project in projects" :key="project.title">
    <v-layout row wrap :class="`pa-3 project $project.status`">
      <v-flex xs12 md6>
        <div class="caption grey--text">Project title</div>
        <div> project.title </div>
      </v-flex>
      <v-flex xs6 sm4 md2>
        <div class="caption grey--text">Person</div>
        <div> project.person </div>
      </v-flex>
      <v-flex xs6 sm4 md2>
        <div class="caption grey--text">Due by</div>
        <div> project.due </div>
      </v-flex>
      <v-flex xs2 sm4 md2>
      <v-btn flat color='red' slot='activator' class='right mx-0 my-0' @click='deleteProject()'>
      <v-icon>delete</v-icon>
     </v-btn>
        <div>
          <v-chip small :class="`$project.status white--text caption mx-0`"> project.status</v-chip>
        </div>
      </v-flex>
    </v-layout>
    <v-divider></v-divider>
  </v-card>

而这个方法我试着写

deleteProject() 
  console.log('deleted');
  let idP = element.id; // obviously that i have problem with this line
  db.collection('projects').doc(idP).delete()

【问题讨论】:

非常感谢,但现在我有一个错误告诉我我没有指定要正确删除的元素,所以我认为问题是 idP 变量 【参考方案1】:

我认为您正在从 firebase 获取 projects 并且您将始终获得您正在获取的 firebase 文档的 Id。您应该将 id 与其余值一起存储。之后,当您调用 deleteProject 函数时,您可以像这样在该函数中传递您的 Id

<v-btn flat color='red' slot='activator' class='right mx-0 my-0' @click='deleteProject(project.Id)'>

然后像这样在你的函数中接收 ID

deleteProject(Id) 
  console.log('deleted');
  db.collection('projects').doc(Id).delete()

希望这能解决您的问题。

【讨论】:

是的!非常感谢你是最好的! @ЕкатеринаКасютич 乐于助人:)

以上是关于如何从firebase中删除文档的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 SwiftUI 从 Firebase / Firestore 中删除文档

如何从 Firebase 存储下载 URL 中删除查询字符串

如何使用 javascript 从 Firebase 电话身份验证中删除验证码?

Firebase Firestore:从文档数组中追加/删除项目

如何查找 Firebase 文档字段并删除文档

Firebase 通知:如何从 Firebase 中删除令牌?