微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – Firebase数据库 – 如何执行前缀通配符查询

我想在Firebase数据库上执行通配查询,
并且不知道图书馆是否支持这一点. – (我猜它没有.)

我想要一个网络流量尽可能少的最佳解决方案,假设数据集是数百万条记录.

数据集(使用前缀通配符):

user_id:
         id_001123:      
                   name: "java"
         id_002124:
                   name: "objective-c"
         id_003125:
                   name: "swift"

代码如何使用通配符检索记录id_002124名称字段,您只有一部分ID.例如. “?4”.

预期结果为id_002124,名称为“objective-c”

任何移动语言示例代码都很棒.
(目标C /夫特/爪哇)

解决方法:

Firebase数据库查询可以根据对象的键(例如id_001123),它们的值(在您的情况下不适用)或子属性的值(例如,name =“java”)来排序/过滤数据.

对于每个Firebase,可以匹配具有您指定的特定值的项目,从您指定的值开始的项目,或以您指定的值结束的项目.

因此,您可以创建一个与名为objective-c的项匹配的查询

ref.child("user_id").orderByChild("name").equalTo("objective-c")

或者,您可以创建与id_001124和id_001125匹配的查询

ref.child("user_id").orderByKey().startAt("id_001125")

或者只是获取以id_0011开头的所有项目:

ref.child("user_id").orderByKey().startAt("id_0011")

或者,您可以创建一个与id_001123和id_001124匹配的查询

ref.child("user_id").orderByKey().endAt("id_001124")

Firebase数据库无法根据值的结尾进行过滤.因此,您当前的数据结构中无法获得其键以4结尾的所有项目.

请在此处阅读有关Firebase数据库查询的更多信息:https://firebase.google.com/docs/database/android/lists-of-data#sorting_and_filtering_data

并查看有关搜索FirebaseL的许多先前问题

> How to perform sql “LIKE” operation on firebase?
> Firebase query – Find item with child that contains string
> Firebase “like” search on string

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐