Firebase V9,将子集合添加到现有文档

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 中添加数据,谢谢!!!!!!

stack overflow Firebase V9, add subcollection to existing doc
原文答案
author avatar

接受的答案

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

在您的代码片段中,这将是:

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

答案:

作者头像

只是跟进弗兰克的回答。如果您想使用 setDoc 设置特定的 id -

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

相关问题