保存 and/or 使用 caseInSensitive 在 Firebase 中查询用户显示名称?

Saving and/or Querying User Display Names in Firebase using caseInSensitive?

我正在将我的项目从 Swift 转移到 Firebase。 Firebase 用户没有用户名,但我允许他们保存一个显示名称,它更像是一个属性而不是一个实际对象。如何让用户查询其他用户/"friends" 在敏感文本中使用大小写?

您可以轻松完成此任务。我们不知道您当前数据的结构,但这里有一个示例

users
  user_id_0
    dsplay_name: "Smokey"
    lower_case_name: "smokey"
  user_id_1
    display_name: "Bandit"
    lower_case_name: "bandit"

在Firebase中创建用户时,在/users节点中创建一个节点,以他们的uid为节点名,然后display_name和lower_case_name为children

当您将数据写入用户节点时,在写入 lower_case_name child:

时只需将显示名称小写即可
let lowerCaseString = displayNameString.lowercaseString
let userRef = the users uid

let userData = ["display_name": "Bandit", "lower_case_name": lowerCaseString]
userRef.setValue(userData)

然后您使用小写字符串查询 lower_case_name child。

ref.queryOrderedByChild("lower_case_name").queryEqualToValue("bandit")
   .observeEventType(.ChildAdded, withBlock: { snapshot in
}