是否可以为子对象定义limit()?

时间:2013-04-02 06:25:19

标签: firebase

我希望在数据集中检索1000的前10条记录,但是每条记录都有一个本身有1000条记录的属性 - 有没有办法限制孙子只返回X记录?类似的东西:

firebaseRef.limit(10).limit(10,childPropertyName).once(...)

(当我说1000,它可能是1,000,000,我不想包括所有的零)

如果没有,是否有任何变通办法或策略来处理大型嵌套集?

一种可能性是将它们去壳。孙子可以拆分成自己的列表,其名称与其前父级相同。这是最好的方式吗?

1 个答案:

答案 0 :(得分:1)

不,没有。我们正在研究如何做到这一点,但他们暂时不会被释放。

与此同时,我建议建立一个单独的索引,只列出顶级子项的名称。然后,您可以对该索引执行“limit(10)”,然后对使用这些键构造的路径执行限制(10)。

所以你的代码看起来像这样:

indexRef.limit(10).once("child_added", function(snapshot) {
  dataRef.child(snapshot.name()).limit(10).once(...);
}