保存 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
}
我正在将我的项目从 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
}