Итак, у меня настроен запрос, где он будет искать, где возраст, введенный пользователем, находится в моей базе данных.По какой-то причине, хотя возраст указан в моей базе данных, он все равно будет возвращаться как ноль.
Если я введу 35 в качестве возраста, он все равно выведет «NULL», даже если 35 является одним из возрастов в базе данных.Как это исправить?
JSON Файл:
{
"data" : [ {
"age" : 35,
"agratio" : 0.9,
"alb" : 3.3,
"alkphos" : 187,
"db" : 0.1,
"diagonsis" : "yes",
"gender" : 1,
"sgot" : 18,
"sgpt" : 16,
"tb" : 0.7,
"tp" : 6.8
}, {
"age" : 40,
"agratio" : 0.9,
"alb" : 3.3,
"alkphos" : 187,
"db" : 0.1,
"diagonsis" : "no",
"gender" : 1,
"sgot" : 18,
"sgpt" : 16,
"tb" : 0.7,
"tp" : 6.8
} ],
"users" : {
"234234adfsdsf" : {
"username" : "hey"
},
"BbZZCTIIcJdvCCU9og905kKVvo53" : {
"email" : "andy55@yahoo.com",
"username" : "andy"
}
}
}
Код:
@IBAction func onDiagnose(_ sender: Any) {
let ref = Database.database().reference(fromURL: "https://agetest.firebaseio.com/")
let databaseRef = ref.child("data")
databaseRef.queryOrdered(byChild: "age").queryEqual(toValue: String(ageTextField.text!)).observeSingleEvent(of: .value, with: { (snapshot) in
// if there is data in the snapshot reject the registration else allow it
if (snapshot.value! is NSNull) {
print("NULL")
} else {
print(snapshot.ref.parent?.key!)
//get parent
}
}) { (error) in
print(error.localizedDescription)
}
}