在Firebase中,如何使用单独的ORDERBY进行WHERE查询
In Firebase how does one do a WHERE query with separate ORDER BY
使用firebase并尝试执行SQL中的查询:
`SELECT * FROM definitions WHERE author='joe' ORDER BY votes DESC`
然而,为了在firebase中执行equalTo
,您还必须指定您正在订购的字段。两者必须相同。真的没有办法做到这一点吗?
这是可以做到的。
这是一组数据样本
definitions
-K2XaThTbq3iRnevjM4V
author: "joe"
votes: "5"
sort: "joe_005"
-K2XaThTbq3iRnevjM4W
author: "jay"
votes: "100"
sort: "jay_100"
-K2XaThTbq3iRnevjM4X
author: "joe"
votes: "22"
sort: "joe_022"
ObjC
Firebase *ref = [self.myRootRef childByAppendingPath:@"definitions"];
FQuery *q1 = [ref queryOrderedByChild:@"sort"];
FQuery *q2 = [q1 queryStartingAtValue:@"joe_"];
[q2 observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"%@", snapshot.value);
}];
这将按票数顺序返回所有以乔为作者的孩子。
请记住,排序是对字符串值进行排序,因此joe_5将位于joe_22之后(2小于5)。因此,为了补偿,用0填充投票,使字符串的数字部分具有相同的长度。
如果有1000张选票,这将失败,所以只需用足够的0来弥补。
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 使用agility.js进行页面布局和合成
- 如何使用skip参数使用angular ui引导进行服务器端分页
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 借助asp.net验证或java脚本对多个文本进行验证
- 使用promise和mongoose对文档进行排序
- Selectize.js:如何对整数值的选项进行排序
- 在Safari执行javascript之前对其进行修改
- React组件等待所需道具进行渲染
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 使用html中的外部javascript进行数据验证
- 如何在javascript上使用flak-babel进行翻译
- AngularJS:使用orderBy进行过滤和排序
- AngularJS orderby通过复选框进行筛选
- 在特殊情况下使用Angularjs OrderBy进行排序
- orderBy不对以下ngRepeat表中的项目进行排序
- 在Firebase中,如何使用单独的ORDERBY进行WHERE查询
- 使用AngularJS的OrderBy来循环列表,按照索引升序进行导航
- 如何对已呈现的集合进行排序?比如angularjs的orderBy指令
- 在 Angular js 中按 Id 降序对记录进行排序时出错,并带有 orderby 子句