【问题标题】:Saving and/or Querying User Display Names in Firebase using caseInSensitive?使用 caseInSensitive 在 Firebase 中保存和/或查询用户显示名称?
【发布时间】:2023-04-04 03:36:01
【问题描述】:

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

【问题讨论】:

标签: swift firebase case-insensitive querying


【解决方案1】:

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

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 作为子节点

当您将数据写入用户节点时,当您写入 lower_case_name 子节点时,只需将显示名称小写即可:

let lowerCaseString = displayNameString.lowercaseString
let userRef = the users uid

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

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

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

【讨论】:

    猜你喜欢
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 2023-01-09
    • 2020-03-29
    相关资源
    最近更新 更多