我正在考虑实现一个 in-firebase 索引,如下所述:https ://stackoverflow.com/a/10559689/534086 ,并试图弄清楚如何处理按降序排序的数据。如果您有一个带有子节点“a”、“b”、“c”的节点,是否有可能检索它们“c”、“b”、“a”?(同时仍然能够以原始顺序检索它们?)
如果无法向前和向后遍历节点并且我需要创建两个索引,那么它们是否是一种简单的算法来生成以反向字典顺序排序的键?对于数字,我认为您可以乘以 -1,但不确定如何处理字符串...
听起来你想要的是一个类似于“limit()”现在工作方式的“reverse()”查询。Firebase 还不能做到这一点,但我们正计划添加它。
根据您的用例,您可能很容易解决这个问题。例如,如果您使用 Firebase 的排序来保持列表按顺序显示给用户,您可以简单地修改显示逻辑以向后呈现内容(例如,前置项目而不是附加)。如果您要查询以从大量子项中选择一个数据窗口(例如,从一个长列表中获取前 10 个项目),那么排序顺序应该不重要——您的起点和终点查询将保持不变,除非它们会被反转。
您可以自己使用limitToLast()
和排序结果集吗?我知道如果你碰巧在使用 Angular,这种方法会起作用,items
$scope 上的 Firebase 数组对象在哪里;
<li ng-repeat="item in items | orderBy:'-fieldName'"> {{ item.fildName }}</li>