【问题标题】:Firebase query containing valueFirebase 查询包含值
【发布时间】:2016-11-27 02:10:09
【问题描述】:

我正在尝试在 firebase 上查询数据,以找到一个值包含部分字符串的子项。因此,如果我搜索“app”,则说该值为“apple”,我会返回该记录。我意识到有人问过这个问题,但我读过的所有答案都表明,firebase 将集成此功能......差不多 3 年后,我似乎找不到任何东西。

【问题讨论】:

  • 我也知道按起始值搜索可以解决上述用例,但说搜索词是“ppl”,我想返回“apple”记录
  • 是的,这个问题之前已经被问过 - 这里有一些参考资料。 searching 和经典的multiple where。而且,到目前为止,一切都没有改变。但是,您的具体问题有一个答案。
  • 另外,如果您有更多信息,最好优化问题而不是添加 cmets,因为这将有助于其他正在搜索类似主题的人。

标签: swift firebase firebase-realtime-database


【解决方案1】:

在你的例子中......

如果您严格查询以字符串开头的数据,在本例中为“app”,那么很容易做到:

queryStartingAtValue("app").queryEndingAtValue("app\u{f8ff}")

有关详细信息,请参阅写得很好但现在很旧的Firebase Guide To Retrieving Data

并向下滚动到范围查询部分

为了完整性:

上面查询中使用的 f8ff 字符是一个非常高的代码点 在 Unicode 范围内。因为它在大多数常规字符之后 Unicode,查询匹配所有以 b 开头的值。 (本例中为应用程序)

【讨论】:

猜你喜欢
  • 2020-07-26
相关资源
最近更新 更多