【发布时间】:2020-09-24 00:11:02
【问题描述】:
目标:检索文档 id 值,以便我可以将其传递给 doc()
我的文档结构如下:
imageUrl: HTTP://wwww.google.com/images/23123
status: true
我正在通过我在 Firestore 中的收藏映射...
{artworks.map((artwork) => (
<ReviewCard
imageUrl={artwork.imageUrl}
/>
))}
这是我获取此文档 id 的代码...
const handleApproval = (e) => {
db.collection("artworks").doc(doc.id).update({ status: "true" });
};
我不断收到错误'doc' is not defined no-undef
当我将doc.id 与实际的文档字符串放在一起时,它可以工作。
如何自动拉取doc id?
【问题讨论】:
-
我不清楚您所说的“自动提取文档 ID”是什么意思。要么您知道该值并将其传递给
doc(),要么您对整个集合进行查询。 -
你好道格!好的,所以我通过查看 firebase 中的文档知道 id。但是,当我遍历整个集合时,我想将文档 ID 插入到
doc.id字段中。我应该在创建集合时自动生成一个 id 而忽略 firebase 自动生成的那个吗? -
您是说您希望每个文档的 ID 作为该文档中的一个字段吗?如果是这样,那从您的问题中根本不清楚。你可能想重写它来解释你的目标是什么。
-
对不起,让我澄清一下。我想要文档 id 的值,所以我可以将它传递给 doc()
-
好吧,正如我所说,您要么提前知道文档 ID,要么进行查询。 Firestore 怎么知道您要更新什么文档?你将不得不以某种方式提供它来处理Approval,但我们看不到它是如何调用的,或者你当时正在处理什么数据。如果您无法将其提供给 handleApproval,那么您将陷入困境,您需要完全重新考虑您希望此代码如何工作。
标签: javascript reactjs firebase google-cloud-firestore