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

时间:2013-02-28 02:20:13

标签: firebase

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

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

2 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分:0)

您可以使用limitToLast()并自行对结果集进行排序吗? 我知道如果您碰巧使用Angular,这种事情会有效,其中items是$ scope上的Firebase数组对象;

<li ng-repeat="item in items | orderBy:'-fieldName'"> {{ item.fildName }}</li>