【发布时间】:2016-01-31 08:47:48
【问题描述】:
我基本上想这样做:
var ref = new Firebase("[myapp].firebaseio.com");
var things = ref.child("things");
var thingsQuery = things.orderByPriority().orderByChild("owner").equalTo("[ownerKey]")
var angularReadyThings = $firebaseArray(thingsQuery);
我正在使用 Firebase 的查询功能 orderByChild() 和 equalTo() 来获取数据子集,并从该查询创建 $firebaseArray 以显示特定节点下事物列表的一部分。用户可以拖放列表以在每个项目上设置 $priority,我可以正确保存优先级,但是数据不会按优先级排序(我想这是有道理的)。我不能将 orderByPriority() 与 orderByChild() 一起使用,就像我在第 3 行上面的那样(不支持多个 orderBys)。在我的 ng-repeat 上使用 orderBy:'$priority' 过滤器(我为此使用 angular)一直有效,直到我拖放对列表进行排序,此时项目恢复到它们的检索(无序)状态。
有没有办法使用 orderByChild() 和 equalTo() 并从 Firebase 中获取按优先级排序的结果?
【问题讨论】: