当前位置: 首页 > 面试题库 >

如何在Swift中过滤Firebase数据?

东和怡
2023-03-14
问题内容

基本上,我有一个名为的结构,主题包含TitleDescription以及一个Published标志(有关说明,请参见下面的屏幕截图)。

Firebase数据库中的主题对象

在应用程序中,我想过滤数据,仅显示具有的主题published = true

这就是我想要做的:

self.ref = FIRDatabase.database().referenceFromURL(FIREBASE_URL).child("topics")
        self.ref?.queryEqualToValue("published")
        self.ref?.observeEventType(.Value, withBlock: { (snapshot) in
            //...Handle Snapshot here
        })

但这是行不通的。我应该如何处理?在此先感谢您的帮助。


问题答案:

您那里有一些小错误。总体来说还算不错,但是结合起来它们将永远无法正常工作:

  1. 调用任何query...方法都将返回一个新对象
  2. 您需要orderByChild()先过滤其价值
  3. 您需要遍历结果

结合这些:

let ref = FIRDatabase.database().referenceFromURL(FIREBASE_URL).child("topics")
let query = ref.queryOrderedByChild("published").queryEqualToValue(true)
query.observeEventType(.Value, withBlock: { (snapshot) in
    for childSnapshot in snapshot.children {
        print(childSnapshot)
    }
})

我们会定期收到这个问题。



 类似资料:
  • 问题内容: 我正在尝试开发出租车预订等应用程序并将数据存储在Firebase上。 但是,从Firebase查询RideDetail(History)数据时遇到问题。 我想以分页形式获取ride_detail以获得特定的“ customer_id”。 我的Firebase DataStructure: 这里的“ payment_time”是付款完成后的时间戳。 我想要的响应是: 我希望我在order

  • 主要内容:限制第一个和最后一个,其他过滤器Firebase提供了多种方式来过滤数据。 限制第一个和最后一个 下面我们来了解第一个和最后一个数据限制是什么。 方法返回从第一个开始向前的指定数量的项目。 方法返回从最后一个开始向前的指定数量的项目。 下面这个例子是展示如何工作的。 由于在数据库中只有三个运动员数据,这里将限制查询返回一个运动员数据。 示例 现在,参考下面的例子 - 控制台会记录第一个查询得到前两个运动员数据,第二个查询得到最后

  • 问题内容: 我在Swift中有一组对象。每个对象都有餐厅的属性,例如名称,类型,位置等。如果我想将数组中所有包含类型的对象保留为“ Sushi”,该如何过滤数组。 具有2个对象的示例数组。过滤器应保留第一个对象(类型:sushi): 当前代码(但我不确定过滤器是否可以搜索的数组): 问题答案: 您的数组,是一个对象数组。因此,对于数组,您可以执行以下操作: 基于我们正在处理自定义对象的假设,我的原

  • 所以我有一个JSON url,里面有一些数据,比如名字、纬度和经度。然而,并不是每个对象都有经纬度,我只想显示具有经纬度的对象的名称。 带有lat和LNG的JSON示例对象:

  • 问题内容: 如何过滤Java中的数组? 我有一系列对象,例如汽车: 类: 用: 现在我要过滤汽车阵列,只保留4门或更多: 我应该怎么做? 在使用Vector之前,请执行以下操作: 然后,我将使用Vector的大小创建一个新数组。然后,我将再次遍历向量并填充新数组。我知道这对于简单的事情来说是一个非常大的过程。 我正在使用J2ME。 问题答案: 编辑: 看到ArrayList不在J2ME中,但是基于

  • 我在java fx中有一个tableview,它显示不同类型的数据,如字符串和整数。我想有一个数据过滤器,这样它就可以自动在table View中显示数据。我怎样才能做到这一点呢?目前我正在使用一个函数,但它不起作用。注意:“pers”是我正在使用的类的一个对象