node.js - 如何从firebase集合中获取所有文档,其中每个文档都有一些子集合并且在子集合中有一个文档?
问题描述
我正在制作一个管理仪表板。我想显示所有用户的详细信息和他们的订单。当我想获取用户集合中的所有文档时,它返回空。更多在用户集合中,每个文档都有一些子集合。在帐户子集合中有一个文档存在名称详细信息,其中用户帐户详细信息可用,如快照所示。 我的代码是
export function getUsers() {
return firebase.firestore().collection("users").get();
}
解决方案
如果您将用户的详细信息直接存储在文档中而不是“帐户”子集合中,那么获取“用户”集合将返回所有用户的文档及其数据。如果您说没有理由,那么我建议您这样做。
其他选项是collectionGroup
对“帐户”使用查询,它将从名为“帐户”的子集合中获取所有文档,即为您提供每个用户的帐户详细信息。
const snap = await db.collectionGroup('account').get()
const users = snap.docs.map(d => ({id: doc.ref.parent.parent.id, data: d.data()))
这里,id
是用户的文档 ID。
推荐阅读
- django - Django - 有没有更好的方法从表单字段中获取数据?
- excel - 如何使用 Excel VBA 中的 Join 函数克服类型不匹配错误
- android - 由于 GRPC 和 R8,Firestore (0.6.6-dev) 出现内部错误
- javascript - NextJS:getInitialProps 方法
- java - 如何检查mysql与eclipse的兼容性
- angular - Angular 服务不适用于 http.get observable
- pandas - 获取熊猫数据框的多列(笛卡尔积)的组合?
- python - 使用 Scipy 进行线性规划
- node.js - npm install truffle-hdwallet-provider 出错
- reactjs - 如何在 create-react-app 中设置 PUBLIC_URL?