gpt4 book ai didi

javascript - 来自 Firestore 中子集合的请求的问题

转载 作者:行者123 更新时间:2023-12-05 05:49:15 26 4
gpt4 key购买 nike

嘿,我尝试解决一个问题,我需要根据之前的查询获取子集合。


const kurzRef = collectionGroup(db, 'kurzwaffensub' );
const FirstOperation = query(kurzRef,where("kurzModell", "==", `${kurzModell}` ));



const getWaffenDaten = async () => {
const modell = await getDocs(FirstOperation);
const data = [];

for (const doc of modell.docs) {



const parentDoc = await getDoc(doc.ref.parent.parent);
const { Name, avatarPath } = parentDoc.data();

// Thats the code snippet which I have my problem with
const waffenbilderRef = collection(db, 'users', doc.data().uid, 'waffenbildersub')
let subCollectionDocs = await getDocs(waffenbilderRef)
//


data.push({
...doc.data(),
Name,
subCollectionDocs,
avatarPath
});

我通过第一个操作获得的文档具有 文档 ID

的字符串字段值

之后我需要根据 Fieldvalue document ID 获取子集合这是您在图片中看到的 3 个子集合之一。

enter image description here

不幸的是,我得到了一些我不完全理解的东西

enter image description here

如您所见,我获得了 subCollectionDocs,但它不显示数据。

您可以在 RED marked Arrow 旁边看到 subcollectionDocs 的结果中有 2 个文档。这是对的,但我不知道如何正确检索数据。

最佳答案

您正在将子集合查询中的完整 DocumentSnapshot 添加到您的状态,这就是您在 console.log 时显示的内容。

我的猜测是您希望只看到文档的数据和 ID,您可以这样做:

const subCollectionDocs = await getDocs(waffenbilderRef)
const subCollectionData = subCollectionDocs.docs.map((doc) => {
return { id: doc.id, ...doc.data() };
}
console.log(subCollectionData);

data.push({
...doc.data(),
Name,
subCollectionData,
avatarPath
});

关于javascript - 来自 Firestore 中子集合的请求的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70682293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com