Firebase实时数据库中具有侦听器或查询的路径中的最大节点?

时间:2018-10-19 12:04:13

标签: firebase firebase-realtime-database limit

在Firebase实时数据库限制文档中,您可以找到以下语句:

  

路径上具有侦听器或查询的节点总数:7500万

     

您不能监听或查询超过7500万个节点的路径,   累积的。但是,您仍然可以收听或查询子节点。尝试   深入探究路径或创建单独的侦听器,或   查询路径的更多特定部分。

如果我有这样的数据库模型,其中有7500万个条目(用户)...

{ 
     users : {
      uid1 : {age: 34, name: 'Tommy', links:{...} },
      uid2 : {age: 78, name: 'Mikel', links:{...} },
      uid3 : {age: 25, name: 'Chris', links:{...} },
      ...
      uid75000000 : {age: 33, name: 'Sam', links:{...} },
}

...,然后将一个新用户添加到列表中。限制声明的意思是:

  • users之类的onWrite()上的监听器停止工作了吗?
  • users之类的usersRef.orderByChild("age").limitToLast(20)路径的查询停止工作了吗?

“累积”的含义是什么? 7500万个数字是否包括路径节点的子节点的子子节点?为什么否则使用累积一词呢?

1 个答案:

答案 0 :(得分:0)

我相信每个键都是一个节点,因为Firebase实时数据库存储为JSON对象。

Firebase数据库最多允许32个子节点!

我不认为在一个列表中包含10亿个对象是理想的选择,我也不认为该数据库是为此目的而建立的!您可能需要考虑使用其他结构或sharding your data

我不确定onWrite()函数的功能,但通常来说,用户将在侦听用户列表的子节点,所以不会有问题。

列出整棵树可能没有用,但用户会有所不同。

查询大列表将永远耗时,并且如果可行的话,代价会很高!同样,请考虑使用sharding your data