gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 05:52:25 24 4
gpt4 key购买 nike

我想在 Firebase 数据库上执行通配符查询,不知道图书馆是否支持这个。 -(我猜不是。)

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

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

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

代码看起来如何使用通配符检索记录 id_002124 名称字段,您只有一部分 ID。例如。 “%124”。

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

任何移动语言示例代码都很棒。( Objective-C/swift/Java)

最佳答案

Firebase 数据库查询可以根据对象的键(例如 id_001123)、它们的值(不适用于您的情况)或子属性的值(例如事实上 name = "java").

对于其中的每一个,Firebase 都可以匹配具有您指定的特定值的项目、以您指定的值开始的项目或以您指定的值结束的项目。

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

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

或者您可以创建匹配 id_001124id_001125 的查询:

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

或者简单地获取所有以 id_0011 开头的项目:

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

或者您可以创建匹配 id_001123id_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 的许多问题中的一些

关于android - Firebase 数据库 - 如何执行前缀通配符查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45054550/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com