我正在考虑实现这里描述的in-firebase索引:https://stackoverflow.com/a/10559689/534086,并试图找出如何按降序排序数据。如果你有一个带有'a','b','c'的节点来检索'c','b','a'是否可能? (虽然仍能按原始顺序检索它们吗?)
如果无法向前和向后遍历节点并且我需要创建两个索引,那么它们是一种简单的算法,用于生成按反向词法顺序排序的密钥吗?对于数字,我认为你可以乘以-1,但不知道如何处理字符串......
答案 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>