javascript - 如何从对象中获取 FireStore 文档 ID?
问题描述
我正在尝试引用自动生成的 firestore 文档 ID,以便可以在其中创建子集合。
问题是虽然我能够找到该文档 ID,但我似乎无法将其保存到可用的变量中。
在这里,我正在获取当前用户的特定文档。其中userDocs
有那个文件ID。(getCollection
是我调用的可组合)
const { documents: userDocs } = getCollection("userData", [
"userId",
"==",
user.value.uid,
]);
每当我这样做console.log(userDocs)
时,我都会得到这个包含所有文档信息的对象,包括文档id
。
但是,当我尝试深入研究对象以使用userDocs.value
oruserDocs.id
等获取 ID 时,它只会返回undefined
.
如果我v-for
像这样在 html 中运行:
<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);
};
任何帮助,将不胜感激。
解决方案
userDocs
内部未定义addNew
。userDocs
是一个对象,而不是单个值。
推荐阅读
- jquery - 没有使用 Flask 填充 jQuery 自动完成菜单
- jquery - 当url有参数时错误'方法不允许'ajax jquery(Laravel)
- php - PHP SoapClient - _SoapCall 必须将参数包装在方法名称中
- c# - 在控制器局部视图中访问 ViewBag
- ios - 无法在 Swift 中替换字符串
- c# - 使用 mvc6 网格时无法将显示格式设置为 2 位小数
- c# - 如何在不访问管理员或数据库的情况下找出 Kentico 版本
- android - 无法解析 android.support.design。迁移到 AndroidX 后
- javascript - Instascan QR 码扫描仪“扫描”侦听器不会更新 Angular 5 组件视图
- c# - 使用 XmlDocument 向元素添加命名空间的正确方法