【问题标题】:Android Firebase Query to Search user by name or email or phone numberAndroid Firebase 查询按姓名或电子邮件或电话号码搜索用户
【发布时间】:2020-05-27 22:27:34
【问题描述】:

我正在使用以下查询按名称搜索用户

public void filterSearch(String searchInput) {
     Query searchQuery = mDatabaseReference.orderByChild("name").startAt(searchInput).endAt(searchInput + "\uf8ff");
     ....
}

但是现在,我想知道,如何使用查询来通过nameemailphone number 搜索用户

仅供参考:我正在使用 FirebaseRecyclerAdapter

【问题讨论】:

  • 是否要通过同一查询中的其他属性进行查询?
  • 在同一个查询中会更有用,否则分享您的建议,因为我保留单个 EditText 以接受来自用户 @AlexMamo 的姓名或电子邮件或电话号码

标签: android firebase firebase-realtime-database


【解决方案1】:

您正在搜索的是使用逻辑 OR 的查询:

.orderByChild("name").startAt(searchInput).endAt(searchInput + "\uf8ff") ||
.orderByChild("email").startAt(searchInput).endAt(searchInput + "\uf8ff") ||
.orderByChild("phone number").startAt(searchInput).endAt(searchInput + "\uf8ff")

不幸的是,这在 Firebase 实时数据库中是不可能的,因为它没有这种查询的概念。要解决这个问题,您必须分别查询每种类型的事物,并根据需要将它们合并到您的代码中。

您也可以查看@FrankvanPuffelen 在以下帖子中的回答:

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-05-18
  • 2019-10-20
  • 1970-01-01
  • 1970-01-01
  • 2018-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多