当前位置: 首页 > 知识库问答 >
问题:

在没有服务器端代码的情况下在Firebase中搜索

白飞飙
2023-03-14

我正在尝试从FireBase获取所有用户的名称,该名称包含给定的字符串。例如,如果我有这些用户:

Devid, Andy, Bob

我希望所有用户的名称都包含'D',因此我希望得到这样的结果:

Devid, Andy

这是我的Firebase目前的结构:

ref.orderByChild("name_").startAt(text).endAt(text+"\uf8ff").on('value', ...);
Devid

2)现在我不想有服务器端代码,什么是实现自定义索引的好的和有效的方法?

谢谢

共有1个答案

锺离马鲁
2023-03-14

好吧--没有办法完全按照你当前的结构来做你想要的。

然而我突然想到:

users:
  user_1234
    first_name: "Devid"
    components:
       "D": true
       "e": true
       "v": true
       "i": true
       "d": true
  user_5678
    first_name: "Andy"
    components:
       "A": true
       "n": true
       "d": true
       "y": true
  user_1010
    first_name: "Bob"
    components:
       "B": true
       "o": true
       "b": true

这里有一些ObjC代码来实现它(并且已经测试过了!)

Firebase *ref = [myRootRef childByAppendingPath:@"users"];

FQuery *q1 = [ref queryOrderedByChild:@"components/b"];
FQuery *q2 = [q1 queryEqualToValue:@1];

[q2 observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) {

    NSLog(@"%@", snapshot.value);

}];
users:
  user_1234
    first_name: "Devid"
    components:
       "D": true
       "e": true
       "v": true
       "i": true
       "d": true
       "De": true
       "Dev": true
       "Devi": true
       "Devid": true
       "ev": true
       "evi": true
       "evid": true
       ... etc

显然,将所有名字读入快照,将它们转储到一个数组中,(在ObjC中)使用NSPredicate提取所需的内容会更有效(如果您的数据集有限的话)。

 类似资料:
  • 我有一个Spring boot项目,它有使用kafka进行日志记录的依赖项。我无法摆脱所述依赖项,因为我的逻辑需要来自该依赖项的代码 我已尝试禁用自动配置 我尝试通过bean配置将missingTopicsFatal设置为false 但很明显,设置已经是假的,因为我的应用程序运行时没有失败,只是tomcat不想打开侦听端口 应用程序启动,但spring拒绝打开侦听端口,并继续使用错误进行循环 在本

  • 问题内容: 是否有可用的Tomcat API或配置可以告诉应用程序(可能在启动时)在没有请求的情况下在哪个端口上运行? 想象一个场景,其中有两个Web应用程序在同一个Tomcat中运行,并且其中一个需要从另一个中调用Web服务。我们不希望该请求离开Tomcat(如果您使用Apache服务器名称或绝对URL,则该请求将发出并再次返回,并且可以转到任何实例)并再次进入。为此,我知道机器名称,但无法获取

  • 在设备上没有安装Google Play服务(aosp)的情况下,是否可以使用Firebase Remote Config? 我确实在我的android项目中遵循了这个设置:(通过https://firebase.google.com/docs/android/setup): 将类路径'com.google.gms:google-services:4.3.3'添加到主分级文件 将实现“com.goo

  • 我们有一个应用程序,将部署在具有不同IP的服务器上。JNLP是在构建时生成的。因此,我们定义了没有代码库的JNLP: 然而,当第二次启动这个应用程序时(从第一次启动时创建的桌面图标),代码库被设置为本地文件系统,这是绝对无用的。我希望Java Webstart在第一次启动应用程序时使用实际的源地址设置代码库。这似乎不是真的。 我如何准备一个通用的JNLP,它可以在不同的服务器上使用而无需修改?

  • 我们正在进行一项实验,以衡量服务工作者的利益。作为其中的一部分,我们正在记录pageLoadTime和服务工作者状态。其思想是,控制器状态为激活状态的数据将被视为通过服务工作者提供的页面,未安装服务工作者的数据将控制器视为空,因此没有服务工作者状态。这样我们就可以将pageLoadTime与 这是知道该页面由SW提供服务的正确方法吗?我想到的一个问题是,如果SW在两者之间被杀死,并向我们提供错误的

  • 我有一个包含不和谐机器人代码的Python脚本。当我运行它时,它会激活不和谐机器人,并显示机器人的在线状态。但是,当我结束python脚本时,它会禁用bot。即使离线,我如何在不使用服务器的情况下保持机器人活动?