firebase - 使用不同键的 Firebase REST API 查询
问题描述
所以这是我现在的 Firebase DB 的结构,我正在使用 Firebase REST API:
"company": {
company1_id {
id: company_id,
userId: userid,
name: name
//someotherstuff
}
company2_id {
id: company_id,
userId: userid,
name: name,
//someotherstuff
}
}
Soo,现在我通过以下方式获取属于一位用户的公司:
"firebasedbname.firebaseio.com/company.json?orderBy="userId"&equalTo=userId"
这工作得很好并获得了相应的数据,但现在我希望它按名称按字母顺序排列公司,然后我试试这个:
"firebasedbname.firebaseio.com/company.json?orderBy="name"&equalTo=userId"
但这一次,它没有返回任何数据!即使我已将 .indexOn: "name" 添加到公司节点。任何帮助将不胜感激。
解决方案
如文档中所述,如果要过滤数据,您需要首先“指定您希望如何使用orderBy
参数过滤数据”,然后您需要“与其他五个参数中的任何一个组合 : , , , ,和“。orderBy
limitToFirst
limitToLast
startAt
endAt
equalTo
所以如果你.indexOn: "name"
在company
节点上添加了“an”,就意味着你打算查询如下:
https://xxxx.firebaseio.com/company.json?orderBy="name"&equalTo="companyName"
您不能按 排序(company) name
和过滤userId
。
如果要获取与特定用户对应的所有公司并按公司名称对其进行排序,则需要在调用 REST API 的客户端/应用程序中使用?orderBy="userId"&equalTo=userId"
并进行排序。
推荐阅读
- mysql - 从 3 个不同的列中选择不同的记录
- vb.net - 如何将字符串转换为时间跨度?视觉基础,秒表,圈系统
- java - Java - 将整数复制到长
- android - 相对布局上方的线性布局(重力底部)
- angular - 从 API 访问实时数据(访问 Dynamo DB 数据)而无需在 Angular 6 中刷新页面(异步)
- python - 在 django 中获取基于时间的模型统计信息
- python - 将二维 numpy 数组与一维 numpy 数组进行比较
- android - 底部导航视图缩小
- android - 在cordova(Xcode)中添加在浏览器插件中打开
- vue.js - Vue froala - 添加标签