如何在firebase中进行类似sql的查询?
Posted
技术标签:
【中文标题】如何在firebase中进行类似sql的查询?【英文标题】:How to do sql like query in firebase? 【发布时间】:2019-03-26 07:01:00 【问题描述】:如果我的查询如下所示,我如何查询 firebase:
Select * from table where employment="teacher" or employment="programmer"
【问题讨论】:
你为什么要这样做? Firebase 没有表(SQL 结构),所以你不能这样做 我想找一个叫做就业的孩子,它具有教师或程序员的价值 ***.com/questions/39647742/… 我知道 orderedByChild 和 queryEqualToValue 但 queryEqualToValue 有一个参数。遇到or怎么办。 获取所有就业记录并使用 swift 内置方法手动过滤。 Firebase 太快了,您会立即获得结果,不用担心 【参考方案1】:firebase 实时数据库中没有类似的查询。您可以使用以下查询:
Method Usage
queryOrderedByKey Order results by child keys.
queryOrderedByValue Order results by child values.
queryOrderedByChild Order results by the value of a specified child key or nested child path.
https://firebase.google.com/docs/database/ios/lists-of-data#sort_data
要解决您的问题,您可以将数据库更改为以下内容:
users
pushId
name : peter
employment : programmer
group : teachProg
pushId
name : john
employment : teacher
group : teachProg
然后使用queryOrderByChild("group").queryEqualToValue("teachProg")
,您将能够检索到所有程序员或教师用户
【讨论】:
【参考方案2】:Firebase 数据库是基于图形的数据库,专注于寻找解决方案的最佳路径。它不像sql那样工作并且支持像sql这样的查询。 虽然您可以执行各种操作,如 queryOrderedByKey、queryOrderedByValue、queryOrderedByChild 等。
对于使用 firebase 数据库的参考项目: https://github.com/rheyansh/RFirebaseMessaging
更多操作: https://firebase.google.com/docs/database/ios/lists-of-data
【讨论】:
以上是关于如何在firebase中进行类似sql的查询?的主要内容,如果未能解决你的问题,请参考以下文章
如何在firebase实时数据库中获取“序列”或类似结构的计数器
SwiftUI Firebase - 如何查询文档然后更新?