如何在 Firebase 数据库中进行查询以在我的控制台中获取一些子项?例如,从下面的快照中,我如何进行查询以仅获取 Des: 11
处的 Image
。
我正在使用这段代码:
func loadData(){
Ref=FIRDatabase.database().reference().child("osts")
Handle = Ref?.queryOrdered(byChild: "11").observe(.childAdded ,with: { (snapshot) in
if let post = snapshot.value as? [String : AnyObject] {
let img = Posts()
img.setValuesForKeys(post)
self.myarray.append(img)
self.tableView.reloadData()
}
})
}
正如 El Capitain 所说,您需要使用它:
func loadData(){
let ref = FIRDatabase.database().reference().child("osts")
ref?.queryOrdered(byChild: "Des").queryEqual(toValue: "11").observe(.childAdded, with: { snapshot in
if let post = snapshot.value as? [String : AnyObject] {
// do stuff with 'post' here.
}
})
}
此外,正如他提到的,您需要设置安全规则以允许您通过“Des”或您将查询的任何其他子节点进行搜索。此外,您需要设置规则以允许您对查询位置进行读取访问:
{
"rules": {
".read": "auth != null",
".write": "auth != null",
"osts": {
"$someID": {
".indexOn": ["Des"]
}
}
}
}
但是,您不会获得“仅图像”,您的查询将返回整个节点。在这种情况下,上面的查询将返回 rrrrrr 节点。
关于ios - 如何使 Firebase 数据库查询让一些 child 使用 Swift 3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41606963/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |