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

DART:从firebase数据库快照中获取类似“%text%”搜索的SQL

祁均
2023-03-14

我目前正在我的应用程序中开发一个搜索功能。这将获得我的firebase数据库快照的引用。im为此使用firebaseDatabase包。

FirebaseDatabase.instance.reference().child('products').orderByChild('title').equalTo(searchQuery)
searchQuery = 'hello';
title1 = 'hello';
title2 = 'hello there';
searchQuery == title1;
searchQuery != title2;

但我也想把这个还回去

searchQuery == title2;

这在我现在使用这个的方式中是可能的吗?

共有1个答案

司寇高洁
2023-03-14

您正在查找contains查询,但Firebase不提供该查询。您可以通过查找equaltoendatstartat的值来细化实际查询(您也可以使用这些方法)。不过,提出三个请求的代价是很高的。

如果你的数据库不大,数据不敏感,我建议提取整个数据,做一个客户端过滤器,如这里所示。

 类似资料:
  • 我目前正在我的应用程序中搜索功能。这将获得我的firebase数据库快照的引用。我为此使用firebaseDatabase包。 但我也想把这个归还 这是可能的方式,我现在使用这个?

  • 因此,我尝试拍摄数据库的快照,并添加带有子项的数组字符串中的项。 我的set和get java文件如下所示 但是,当我的程序到达dataQuery方法并尝试获取和设置名称和成分时,它会崩溃。有人能解释一下我做错了什么,以及是否有更好的方法来使用数据库快照来做到这一点吗? 进程:in.tvac.akshayejh.firebasesearch,PID:24798java.lang.NullPoint

  • 我试图将值从数据库快照放入类对象的映射活动代码。 我的车站类别代码和位置类别代码。 在从firebase获取的地图上标记位置的代码。

  • 问题内容: 我在输入时搜索用户。但是最后它返回了每个用户。我不知道为什么会这样。好像还好 问题答案: 您正在使用。从文档中: 由返回的实例 将响应节点上具有大于startValue或等于startValue且键大于或等于childKey的值的事件。 因此请记住,如果您搜索某个用户的,则会为所有名称按字母顺序大于给定名称的用户提供。您需要设置a 以限制查询范围。 Firebase旧版文档是了解Fir

  • 问题内容: 因此,我有一个名为“ users。”的表的数据库。在该表中有一列名为“ IP”的列,我想查找具有相同IP的用户并将其禁止。 问题答案: 您应该利用查询分组。我写的一个老博客是《理解群居法》 但基本上这应该工作: 这将返回计数> 1的所有IP地址

  • 查看其他关于堆栈溢出的问题,有人说这可能是因为valueEventListener的位置不正确,但...不是吗?我正在钻进食物条目/营养条目,但我不知道如何钻进更深。没办法匿名给孩子打电话?我尝试调用childEventListener而不是valueEventListener,其他的都一样,但我再也没有得到那个消息,但我仍然无法检索到我想要的数据。 编辑: 谢谢你到目前为止的帮助。根据下面Has