我有以下結構火力地堡queryEqual(toValue :)不工作
"users":{
"user1234" {
"username": "user1234"
}
}
我試圖做一個查詢找到與用戶名「user1234」用戶數據庫。當我使用queryEqual(toValue :)我沒有得到任何匹配,但是當使用queryStarting(atValue:)我得到用戶。我已確認用戶名實際上是「user1234」。我究竟做錯了什麼?
let query1 = databaseRef.child("users").queryOrdered(byChild:"username").queryStarting(atValue: "user1234").queryLimited(toFirst: 1)
query1.observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in
//snapshot contains the user with username "user1234"
})
但是以下不起作用
let query2 = databaseRef.child("users").queryOrdered(byChild:"username").queryEqual(toValue: "user1234")
query2.observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in
//snapshot DOES NOT contain the user with username "user1234"
})
我的安全規則
"rules": {
".read": "true",
".write": "true",
"users": {
"$uid": {
".indexOn": ["username"],
},
},
},
你確定usernameLowered =「user1234」在第二個查詢嗎? –
是的,這只是輸入問題的一個錯字。感謝您指出它 – Nilsymbol