菜鸟教程小白 发表于 2022-12-12 12:45:09

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(&#34;Posts&#34;)

    Handle = Ref?.queryOrdered(byChild: &#34;11&#34;).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(&#34;Posts&#34;)

    ref?.queryOrdered(byChild: &#34;Des&#34;).queryEqual(toValue: &#34;11&#34;).observe(.childAdded, with: { snapshot in
      if let post = snapshot.value as? {
            // do stuff with &#39;post&#39; here.

      }
    })

}
</code></pre>

<p>此外,正如他提到的,您需要设置安全规则以允许您通过“Des”或您将查询的任何其他子节点进行搜索。此外,您需要设置规则以允许您对查询位置进行读取访问:</p>

<pre><code>{
&#34;rules&#34;: {
    &#34;.read&#34;: &#34;auth != null&#34;,
    &#34;.write&#34;: &#34;auth != null&#34;,

    &#34;Posts&#34;: {
      &#34;$someID&#34;: {
      &#34;.indexOn&#34;: [&#34;Des&#34;]
      }
    }
}
}
</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]
查看完整版本: ios - 如何使 Firebase 数据库查询让一些 child 使用 Swift 3?