【问题标题】:How do i get a FireStore document ID from an object?如何从对象中获取 FireStore 文档 ID?
【发布时间】:2023-04-02 21:30:01
【问题描述】:

我正在尝试引用自动生成的 Firestore 文档 ID,以便我可以在其中创建子集合。

问题是,虽然我能够找到该文档 ID,但我似乎无法将其保存到可用的变量中。

在这里,我正在获取当前用户的特定文档。其中userDocs 中包含该文档 ID。 (getCollection 是我调用的可组合)

const { documents: userDocs } = getCollection("userData", [
      "userId",
      "==",
      user.value.uid,
    ]);

每当我执行console.log(userDocs) 时,我都会得到这个包含所有文档信息的对象,包括文档id

screenshot

但是,当我尝试深入研究对象以获取 ID,例如 userDocs.valueuserDocs.id 等,它只会返回 undefined

如果我像这样在 html 中运行 v-for

<div v-for="docs in userDocs" :key="docs.id">
   <h1>{{ docs.id }}</h1>
</div>

在网页上吐出文档id没问题。

我正在尝试在此处注入该文档 ID,以便可以将 firebase 中的子集合添加到此特定用户文档。

const addNew = async (plant) => {
      const userPlant = {
        plant: plant,
        planted: tempPlanted,
      };
      const res = await projectFirestore
        .collection("userData")
        .doc(userDocs)  <--------HERE
        .collection("plants")
        .add(userPlant);
    };

任何帮助将不胜感激。

【问题讨论】:

  • 从哪里调用addNew?你能从那里传递用户 ID 吗?
  • addNew 只是绑定到提交按钮上的@click 事件。所以当我点击提交时,它会运行这个 addNew 功能

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


【解决方案1】:
  1. userDocsaddNew 内部未定义。
  2. userDocs 是一个对象,而不是单个值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-02
    • 2020-12-05
    • 1970-01-01
    • 2018-09-03
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 2019-07-04
    相关资源
    最近更新 更多