首页 > 解决方案 > 我们如何在 firebase 的用户集合中获取文档

问题描述

我想从来自 firestore 的数据创建一个数组。结构如下

用户(集合)>uid1(文档)>(配置文件)>uid2(文档)>数据

现在,uid 对于用户集合的每个元素都是动态的。我想为每个包含数据的元素创建一个数组,例如

[
{data},
{data},
.....
]

我已经为单个 uid 编写了代码

db.collection('users').doc("BbXn5M213XSKNfcSAR2MvbjPD403").collection("profile").onSnapshot((snapshot) => {
console.log(snapshot.docs.map(doc => doc.data()));
});

这是一些firebase屏幕 截图 屏幕截图 1 屏幕截图 2 这里

标签: javascriptreactjsfirebasegoogle-cloud-firestore

解决方案


我认为您要查找的可能是集合组查询,这是一种从具有特定名称的所有集合中获取内容的方法。

因此,在您的示例中,这将是从所有data(子)集合中获取所有文档的方法:

db.collectionGroup("profile").onSnapshot((snapshot) => {
  console.log(snapshot.docs.map(doc => doc.data()));
});

推荐阅读