【问题标题】:Firebase V9, add subcollection to existing docFirebase V9,将子集合添加到现有文档
【发布时间】:2022-01-01 19:16:30
【问题描述】:
const q = getDoc(doc(db, "customers", user.uid));

你好,这会在 console.log 中返回一个 Promise。 我有一个客户集合,每个 user.uid 都是其中的一个文档。我想为每个 user.uid 文档创建一个子集合,所以我可以在里面放一个对象 { 和一些参数}。但是如何为每个文档(user.uid)创建一个名为“checkout_sessions”的子集合。任何帮助将不胜感激,请,谢谢

这就是它在 Firebase v8 中的完成方式。在编写这些行时,firestore 没有一个名为 checkout_sessions 的集合,这似乎为每个 user.uid 创建 1

const docRef = await db
.collection("customers")
.doc(user.uid)
.collection("checkout_sessions").
add({
 price: priceId,
 and: two,
 more: pairs,
});

我需要创建相同的子集合“checkout_sessions”并在 firebase v9 中添加数据,谢谢!!!!!!

【问题讨论】:

  • Firestore 没有创建集合和子集合的操作。您只需开始向它们写入文档,它们就会出现在控制台中。您实际上是在问如何将文档写入子集合,而不管之前是否已完成?
  • 我的朋友,我有一个“客户”集合,它将每个客户存储在一个文档 (user.uid) 下。现在对于每个文档(user.uid)-> 我需要创建一个名为“checkout_sessions”的子集合并在其中插入一些数据。最简单的事情,但我是新手,没有人可以问,也无法帮助自己使用官方文档 :) 感谢您的帮助。我可以通过教程在 firebase v8 中将此代码交付给您,它只是几行代码。我不知道如何将其转换为新的 v9 结构。
  • 我正在使用教程中的 4 行 firebase v8 代码更新帖子中的代码

标签: javascript reactjs firebase google-cloud-firestore


【解决方案1】:

将代码重写为 v9 通常是将方法调用更改为等效的函数调用,并将对象作为第一个参数传入。

在您的代码 sn-p 中:

const docRef = doc(db, "customers", user.uid);
const colRef = collection(docRef, "checkout_sessions")
addDoc(colRef, {
 price: priceId,
 and: two,
 more: pairs,
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-11
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    相关资源
    最近更新 更多