如何从对象中获取 FireStore 文档 ID?
Posted
技术标签:
【中文标题】如何从对象中获取 FireStore 文档 ID?【英文标题】:How do i get a FireStore document ID from an object? 【发布时间】:2021-11-27 19:02:49 【问题描述】:我正在尝试引用自动生成的 Firestore 文档 ID,以便我可以在其中创建子集合。
问题是,虽然我能够找到该文档 ID,但我似乎无法将其保存到可用的变量中。
在这里,我正在获取当前用户的特定文档。其中userDocs
中包含该文档 ID。 (getCollection
是我调用的可组合)
const documents: userDocs = getCollection("userData", [
"userId",
"==",
user.value.uid,
]);
每当我执行console.log(userDocs)
时,我都会得到这个包含所有文档信息的对象,包括文档id
。
screenshot
但是,当我尝试深入研究对象以获取 ID,例如 userDocs.value
或 userDocs.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 功能
【参考方案1】:
userDocs
在 addNew
内部未定义。
userDocs
是一个对象,而不是单个值。
【讨论】:
以上是关于如何从对象中获取 FireStore 文档 ID?的主要内容,如果未能解决你的问题,请参考以下文章
如何按文档 ID 从 Firebase Firestore 获取数据 - iOS?
如何从 Firestore 文档中获取自定义对象的 ArrayList? [复制]
如何从 Cloud Firestore 中获取数据,其中 user.uid 等于 Flutter 中的文档 ID?