我正在使用Firebase Firestore构建一个基于web的应用程序(JavaScript)。但我遇到了一个问题,那就是我的数据目前的结构是我想要做的。
我有一个如下的数据模型:
{
sources: [
name: '',
uid: '1234567890'
]
,
accounts: [
name: '',
uid: '1234567890'
]
}
我想要执行一个查询,它可以让我将数据组织回浏览器,如下所示:
{
sources: [
name: '',
uid: '1234567890',
accounts: [
name: '',
uid: '1234567890'
]
]
}
显然有uid
的匹配。如果重要的话,总体上不会有很多数据。可能有1-4个来源,4-8个账户。任何帮助都会很好!我不确定是否需要将promises链接在一起(我的猜测),或者是否有更好的方法。
发布于 2020-03-05 10:35:19
您所描述的在SQL术语中称为“连接”。Firestore不支持joins,以便能够大规模扩展。使用您当前的结构,您必须单独阅读每个文档,并在客户机上合并结果。或者,您可以存储另一个文档,其中包含来自多个集合的预先联接的数据,这称为反规范化。反规范化在不支持连接的NoSQL类型数据库中很常见。
https://stackoverflow.com/questions/60537417
复制相似问题