可以以相反的顺序遍历Firebase节点的子节点吗?

jos*_*osh 6 firebase

我正在考虑实现这里描述的in-firebase索引:https://stackoverflow.com/a/10559689/534086,并试图找出如何处理按降序排序数据.如果你有一个带有'a','b','c'的节点来检索'c','b','a'是否可能?(虽然仍然能够以原始顺序检索它们吗?)

如果无法向前和向后遍历节点并且我需要创建两个索引,那么它们是一种简单的算法,用于生成按反向词法顺序排序的密钥吗?对于数字,我认为你可以乘以-1,但不知道如何处理字符串...

And*_*Lee 9

听起来你想要的是一个类似于"limit()"现在如何工作的"reverse()"查询.Firebase还不能做到这一点,但我们计划添加它.

根据您的使用情况,您可能很容易解决这个问题.例如,如果您使用Firebase的排序按顺序保存列表,则可以简单地修改显示逻辑以向后渲染事物(例如,添加项目而不是附加项目).如果您要查询从大量子项中选择一个数据窗口(例如,从长列表中获取前10个项目),排序顺序应该不重要 - 您的起点和终点查询将保持不变,但它们将被颠倒.

  • @andrewlee承诺承诺承诺."我们很快就会添加一个reverse()和一个offset()!我们保证!" 1年半之后,我们仍然坚持同样的问题.:)您的解决方案不适用于大型数据集的分页! (11认同)
  • 你还打算加上`reverse()`吗?真的可以现在用它! (8认同)
  • 请Firebase团队,为查询添加反向功能! (8认同)
  • 我建议你可以做startAt(20).endAt(100)然后只是向后渲染它们. (6认同)
  • 这个功能出来了吗? (2认同)