何时在Firebase中嵌套?

时间:2014-09-25 19:15:43

标签: firebase

Firebase的Structuring Data文档明确指出"避免构建嵌套"。给出的主要原因是

  

当我们在Firebase中获取节点的数据时,我们还会检索其所有子节点。

考虑到这一点,如果数据仍然正确地非规范化,那么深嵌入是否仍然有效?

例如,以下是带有地理标记帖子的应用的Firebase结构,以及geo-indexes的邮寄语言:

posts/{postId}
indexes/
        languages/
                  en/geohashes/{geohash}
                  es/geohashes/{geohash}
                  de/geohashes/{geohash}

将此与完全平坦的结构进行比较:

posts/{postId}
index_en_geohashes/{geohash}
index_es_geohashes/{geohash}
index_de_geohashes/{geohash}

我发现第一个嵌套结构干净且自我记录。这和扁平结构一样有效吗? (让我们说最常见的用例是'查询语言x geohashes')

1 个答案:

答案 0 :(得分:1)

来自嵌套结构/indexes/languages/en/geohashes/和平面结构/index_en_geohashes/的查询在计算上是等效的。