ios - 如何使 Firebase 数据库查询让一些 child 使用 Swift 3?
<p><p>如何在 Firebase 数据库中进行查询以在我的控制台中获取一些子项?例如,从下面的快照中,我如何进行查询以仅获取 <code>Des: 11</code> 处的 <code>Image</code>。</p>
<p> <img src="/image/BEqah.png" alt="This is a snapshot for my console in firebase database"/> </p>
<p>我正在使用这段代码:</p>
<pre><code> func loadData(){
Ref=FIRDatabase.database().reference().child("Posts")
Handle = Ref?.queryOrdered(byChild: "11").observe(.childAdded ,with: { (snapshot) in
iflet post = snapshot.value as? {
let img = Posts()
img.setValuesForKeys(post)
self.myarray.append(img)
self.tableView.reloadData()
}
})
}
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>正如 El Capitain 所说,您需要使用它:</p>
<pre><code>func loadData(){
let ref = FIRDatabase.database().reference().child("Posts")
ref?.queryOrdered(byChild: "Des").queryEqual(toValue: "11").observe(.childAdded, with: { snapshot in
if let post = snapshot.value as? {
// do stuff with 'post' here.
}
})
}
</code></pre>
<p>此外,正如他提到的,您需要设置安全规则以允许您通过“Des”或您将查询的任何其他子节点进行搜索。此外,您需要设置规则以允许您对查询位置进行读取访问:</p>
<pre><code>{
"rules": {
".read": "auth != null",
".write": "auth != null",
"Posts": {
"$someID": {
".indexOn": ["Des"]
}
}
}
}
</code></pre>
<p>但是,您不会获得“仅图像”,您的查询将返回整个节点。在这种情况下,上面的查询将返回 rrrrrr 节点。</p></p>
<p style="font-size: 20px;">关于ios - 如何使 Firebase 数据库查询让一些 child 使用 Swift 3?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/41606963/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/41606963/
</a>
</p>
页:
[1]