如何从vuejs和firestore获取文档的ID?

时间:2020-09-18 16:20:40

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

我有以下代码可从Firestore获取所有文档:

const getThemesList = async ({ commit }) => {
  const snapshot = await firebase
    .firestore()
    .collection('themes')
    .get();
  const promiseThemes = snapshot.docs.map(doc => doc.data());
  commit(types.GET_THEMES, promiseThemes);
};

我可以列出该功能,每个项目都有一个删除按钮:

<v-btn text @click="deleteTheme(item)">
        Delete
      </v-btn>

每个项目仅具有以下参数:

{
description: (...)
name: (...)
type: (...)
}

但是,如果我没有他们的ID,该如何删除项目?

db.collection('themes')
    .doc(theme.id)
    .delete()
    .then(function() {

我如何获得身份证? theme.id?

enter image description here

编辑1: 我对@DougStevenson的答案有误

enter image description here

1 个答案:

答案 0 :(得分:2)

doc是具有id属性的DocumentSnapshot。只需将文档ID添加到您生成的每个项目对象中即可:

const promiseThemes = snapshot.docs.map(doc => {id: doc.id, ...doc.data());

现在您有了一个具有id属性的对象,可用于删除文档。