Way*_*yne 1 android objective-c firebase swift firebase-realtime-database
我想在Firebase数据库上执行通配符查询,并且不知道库是否支持这一点. - (我猜它没有.)
我想要一个网络流量尽可能少的最佳解决方案,假设数据集是数百万条记录.
数据集(使用前缀通配符):
user_id:
         id_001123:      
                   name: "java"
         id_002124:
                   name: "objective-c"
         id_003125:
                   name: "swift"
代码如何使用通配符检索记录id_002124名称字段,您只有一部分ID.例如."%124".
预期结果为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的许多先前问题