【问题标题】:Firebase querying with partial string match [duplicate]Firebase查询与部分字符串匹配[重复]
【发布时间】:2017-09-28 04:09:15
【问题描述】:

假设我有一个简单的 firebase 实时数据库结构,其中键是 username,值是 userid。现在我想通过username 搜索userid。如果用户名匹配,这很容易。但是如何获得部分匹配的答案。更清楚地说,如果我要使用 SQL 编写它,它会是这样的:

SELECT userid FROM tablename WHERE username LIKE 'abc%'

它将给我所有的userid,其中usernameabc 开头。 如何为firebase编写这种类型的查询?了解我在 android 设备上使用它,并且可能有很多用户。

【问题讨论】:

标签: android firebase firebase-realtime-database


【解决方案1】:

根据 Java Admin 的文档,您可以执行类似的操作,它也应该适用于 Android

对于以abc 开头的数据,

yourRef.orderByKey().startAt("abc").endAt("abc\uf8ff")

\uf8ff 在 Unicode 中的大多数常规字符之后,因此查询应该匹配所有以 abc 开头的值。

【讨论】:

  • 是的,它有效。谢谢。但是你能再解释一下“\uf8ff”吗?它还会返回一个用户 ID 数组吗?
  • 正如我所解释的那样,\uf8ff is after most regular characters in Unicode 并且它将在 Firebase 中返回 Query 对象,您可以通过 attaching ValueEventListener 获取数据。然后从 datasnapshot 中获取数据。
猜你喜欢
  • 2012-12-26
  • 2015-12-31
  • 1970-01-01
  • 2015-12-30
  • 1970-01-01
  • 1970-01-01
  • 2022-08-11
相关资源
最近更新 更多