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

Swift Retreive Firebase数据

屠嘉勋
2023-03-14
问题内容

Firebase数据库中的以下数据:

{
  "schedule": {
      "Week 1": {
        "active": "true"
      },
      "Week 2": {
        "active": "true"
      },
      "Week 3": {
        "active": "false"
      },
      "Week 4": {
        "active": "true"
      },  
      ...
   }
}

我想检索所有仅活动为true的Weeks。我正在这样设置Firebase参考:

ref = FIRDatabase.database().reference(withPath: "Schedule")

然后执行以下操作:

ref.observeSingleEvent(of: .value, with: { snapshot in
        //
        print("Count: ", snapshot.childrenCount)

        for _ in snapshot.children {
                print("\(snapshot.value)")
        }

    })

产生以下输出:

Optional({
      "Week 1" =     {
           active = 1;
       };
       "Week 2" =     {
           active = 1;
       };
       "Week 3" =     {
           active = 0;
       };
       "Week 4" =     {
           active = 1;
       };
       ...
}

有人可以建议我怎样才能将active设置为true的那几周需要加载到string类型的数组中:

var weeksActive = [String]()

问题答案:

为此,您可以使用queryOrdered(byChild:)queryEqual(toValue:)喜欢这样。

let ref = FIRDatabase.database().reference(withPath: "Schedule").queryOrdered(byChild: "active").queryEqual(toValue : true)

ref.observe(.value, with:{ (snapshot) in

    print("Count: ", snapshot.childrenCount)
    for child in snapshot.children {
        print("\((child as! FIRDataSnapshot).value)")
        //To get week you need to access key
        print("\((child as! FIRDataSnapshot).key)")
    }
})


 类似资料:
  • 当语句是作(plot)复变量时,虚部是忽略的,除非作图给出一个单复变元。对于这种特殊情况,有一捷径的命令来画出实部以及与之对应的虚部。因此, plot(Z) 其中Z是复向量或矩阵,其等价于 plot(real(Z),imag(Z)) 例如, t = 0:pi/10:2*pi; plot(exp(i*t),'-o') axis equal 作出一个二十边形并用小圆标记顶点,命令axis equ

  • New in Django 1.8. 下面记述的类为用户提供了一些方法,来在Django中使用底层数据库提供的函数用于注解、聚合或者过滤器等操作。函数也是表达式,所以可以像聚合函数一样混合使用它们。 我们会在每个函数的实例中使用下面的模型: class Author(models.Model): name = models.CharField(max_length=50) age

  • 中国股票指数数据 实时行情数据 接口: stock_zh_index_spot 目标地址: http://vip.stock.finance.sina.com.cn/mkt/ 描述: 中国股票指数数据-所有指数 限量: 单次返回所有指数的实时行情数据 输入参数 名称 类型 必选 描述 - - - - 输出参数-实时行情数据 名称 类型 默认显示 描述 代码 str Y - 名称 str Y - 最

  • 我正试图计算逆FFT,因为我只想要选择频率。下面是我如何进行FFT: 正如上面所看到的,我正在从每个点做一个复数。 然后,我计算一个频率的功率电平:

  • 数组数据基类,支持使用 a.b.c 方式操作数据 $data = [ 'a' => [ 'b' => [ 'c' => [ 'name' => 'imi', ] ] ] ]; $data = new \Imi\Util\ArrayData($data); //

  • 函数名称:插入数据到数组 函数功能:插入数据到数组 函数方法 table.insert (tab_table, pos,value) 参数 类型 必填 说明 tab_table string 是 待操作的数组 pos number 否 待插入位置,不写默认值为 #tab_table value value 否 待插入的内容 函数示例 tab_table = {1,2,3,4,5,6,7,8,9,1

  • 我有问题保存我的数组列表。当应用程序销毁或更改意图或更改方向时,我想保存我的数组列表: 首先,我尝试保存在文件中,但Paint类不是可序列化类。第二,我尝试使用onSaveInstanceState(Bundle outState)/onRestoreInstanceState(Bundle savedInstanceState),但我无法保存Arraylist;第三,我尝试使用数据库,但没有任何

  • 但是,当我试图通过axios来实现它时,似乎无法通过正确的params数据。我试过了 有人知道如何在Axios中翻译这种类型的数组数据吗?