Ios 查询及;在Firebase的何处(swift 3)
如何在firebase中进行查询?在oracle sql上,查询将是Ios 查询及;在Firebase的何处(swift 3),ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,如何在firebase中进行查询?在oracle sql上,查询将是 "select * from users where username = "SomeUser" 我需要在Firebase和Swift 3上做同样的事情 您需要使用queryOrderedByChild和queryStartingAtValue。这会让你从正确的方向开始 查询启动值(用户名)。查询启动值(用户名) queryEqual(toValue:username) Swift 3和Firebase 3 我希望这能帮助你
"select * from users where username = "SomeUser"
我需要在Firebase和Swift 3上做同样的事情
您需要使用
queryOrderedByChild
和queryStartingAtValue
。这会让你从正确的方向开始
查询启动值(用户名)。查询启动值(用户名)
queryEqual(toValue:username)
Swift 3和Firebase 3
我希望这能帮助你理解。我们开始
这是数据结构的示例:
代码如下:
let username = "DavidMouse"
// create searchRef or queryRef you name it
let searchRef = FIRDatabase.database().reference().child("users").queryOrdered(byChild: "username").queryEqual(toValue: username)
// search the username
searchRef.observeSingleEvent(of: .value, with: { (snapshot) in
guard snapshot.value is NSNull else {
// yes we got the user
let user = snapshot.value as! String
print("\(user) is exists")
return
}
// no there is no user with desire username
print("\(username) is exists")
}) { (error) in
print("Failed to get snapshot", error.localizedDescription)
}
显示您的firebase数据库结构。为什么您同时需要
.queryStartingAtValue(用户名)
和.queryEndingAtValue(用户名)
?有没有一种更简单的方法来搜索所有具有特定值的结果?我看到有一些queryEqual(toValue:Any?
函数。在这种情况下,我们可以通过在queryOrderedByChild调用中指定嵌套子项的相对路径,按照嵌套在users
键下的值对列表元素进行排序。
let searchRef = FIRDatabase.database().reference().child("users").queryOrdered(byChild: "username").queryEqual(toValue: username)
let username = "DavidMouse"
// create searchRef or queryRef you name it
let searchRef = FIRDatabase.database().reference().child("users").queryOrdered(byChild: "username").queryEqual(toValue: username)
// search the username
searchRef.observeSingleEvent(of: .value, with: { (snapshot) in
guard snapshot.value is NSNull else {
// yes we got the user
let user = snapshot.value as! String
print("\(user) is exists")
return
}
// no there is no user with desire username
print("\(username) is exists")
}) { (error) in
print("Failed to get snapshot", error.localizedDescription)
}