0
我試圖傳遞一個電話號碼(例如1111111111),並查看它是否與我的Firebase數據庫中的任何條目匹配。我在整理數據庫並查找電話號碼時遇到問題。以下是Firebase數據庫的JSON代碼。基於特定值查詢子節點(Swift 3,Firebase)
{
"Users" : {
"3SMHwMuA8HQm9yLoivxYoCtUccr1" : {
"Email" : "[email protected]",
"First Name" : "First Name 1",
"Last Name" : "Last Name 1",
"Phone Number" : "(111) 111-1111"
},
"NvQiGzASw2QDAMcBQLx1HNzR8ZM2" : {
"Email" : "[email protected]",
"First Name" : "First Name 2",
"Last Name" : "First Name 2",
"Phone Number" : "(222) 222-2222"
},
"RuVMfHUC8qQg8KGVJitEkzq9Tsy2" : {
"Email" : "[email protected]",
"First Name" : "First Name 3",
"Last Name" : "Last Name 3",
"Phone Number" : "(333) 333-3333"
}
}
}
這是我寫的代碼。它沒有給出正確的結果。
phoneNumber: Int = 1111111111
ref = Database.database().reference()
let phoneNoInDatabase = ref.child("Users").queryEqual(toValue: phoneNo_pb_int)
let phoneNoInDatabaseInt = Int(phoneNoInDatabase.components(separatedBy: CharacterSet.decimalDigits.inverted).joined())
if phoneNoInDatabase_int == phoneNo_pb_int {
// Success!
print("User Found")
}
else {
// Error!
print("User not Found")
}
恐怕您的解決方案沒有奏效。我添加了你的代碼,行爲仍然是一樣的。感謝你的付出。 –
您似乎將電話號碼保留爲代碼中的數字。在數據庫中,您將其存儲爲字符串。所以你需要將它轉換爲一個字符串:'queryEqual(toValue:「1111111111」)' –
這似乎並不是這種情況,因爲它總是匹配一個數字 - (333)333-3333當它從電話聯繫人列表。這個數字找到一個匹配。而其他兩個數字則不然。即使他們在數據庫中。 –