Firebase线性节点

Firebase线性节点

问题描述:

我开始使用Firebase存储数据信息。我了解到,把它放在一个狭窄的结构而不是深层结构中会更好。Firebase线性节点

我有以下结构:

MainDetail 
    -Kd92jd93kaod93 <----ID 
    -Kfirkd9rmtiepr 
    -.....More than 1 million more 

我的问题是,我有超过一百万的数据和超过一百万的ID将在每一个主节点被存储在一个线性序列类似上面。

这是在一个节点中拥有所有ID的好方法吗?还是应该按照日期进一步细分?像...

01_MainDetail 
    -20170902 
     -Kd92jd93kaod93 
     -Kfirkd9rmtiepr 
     -.... 
    -20170901 
     -Kd92jd93rt4e3 
     -Kfer5hrmtiepr 
     -....  
    -.... 

这违背了我在网上看了如我现在没有把它狭隘和有多个孩子。

当我有很多数据时,正确的方法是什么?

节点下的子节点数目没有实际的限制。这完全取决于你想如何访问这些子节点。特别是:

  1. 查询长列表的数据总是比查询更短的数据列表花费更多的时间。
  2. 从较长的列表中查询节点列表总是会更快地查询这些相同的节点。

见这些问题的答案更多:

它往往是最好的对数据进行分区,以配合您希望如何访问它。您展示的第二个数据结构就是一个例子,因为它允许您访问特定日期的节点而无需查询它们。

好的方法是保持数据按照您在父节点下的日期块中说的那样组织。

这种方法不会给你带来麻烦。