【问题标题】:Query object in child array查询子数组中的对象
【发布时间】:2017-09-27 13:55:48
【问题描述】:

我正在尝试使用查询从我的数据库中检索只有 4 岁的学生的数据,但我不知道如何使用 Firebase 来查询年龄(每个孩子的数组)。

{
  "student" : {
    "-Kv2RVDDsI-v6V7g_LBn" : [ {
      "name" : "sam",
      "age" : "6"
    }, {
      "name" : "tom",
      "age" : "4"
    }
   ],
   "-hguyu-v6V7g_LBn" : [ {
      "name" : "Tim",
      "age" : "12"
    }, {
      "name" : "tom",
      "age" : "4"
    }
   ]
  }
}

这是我的代码,但它不返回任何内容。

ref.child("student").queryOrdered(byChild: "age").queryEqual(toValue: 4).observe(.childAdded,  with: { (snapshot) in
        let value = snapshot.value
        print(value)
    }) { (error) in
        print(error.localizedDescription)
}

但是,如果我删除 queryOrdered(byChild: "age") 它会起作用。

谢谢。

【问题讨论】:

    标签: ios swift firebase swift3 firebase-realtime-database


    【解决方案1】:

    当您的 JSON 数据库格式子路径名称实际上是“学生”时,您引用的是“学生”。

    还要确保您是按键查询。请参阅 Firebase 文档以了解如何按键查询。我不明白你的结构为什么你每个键有 2 个孩子。

    为什么不给每个孩子一个新的钥匙?

    【讨论】:

    • 学生打错字了
    • 你怎么每把钥匙有 2 个孩子。比如-Kv2RVDDsI-v6V7g_LBn有sam和tom?
    • 好的,你需要使用 2 个不同的查询
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 2022-01-11
    相关资源
    最近更新 更多