当前位置: 首页 > 知识库问答 >
问题:

在Swift中使用queryEqualToValue将Firebase数据追加到数组

乌和畅
2023-03-14

我有一个关于在Swift iOS中添加Firebase数据到数组的问题。当我对超链接中给出的数据使用QueryeQualtoValue运行此代码时,它会给出QueryCount所具有的元素数。但是,我想把所有的元素都放入一个数组中。

例如,当我运行kósót(3)时,我希望在sesgrup=3的情况下获取所有hhtype值。并且,将这些元素存储在数组中。你能帮我一下吗?

{
  "1400001" : {
    "HHtype" : 3,
    "Sesgrup" : 4,
    "lg_Et harcaması" : 0,
    "lg_Total Harcama" : 3.11
  },
  "1400002" : {
    "HHtype" : 1,
    "Sesgrup" : 4,
    "lg_Et harcaması" : 1.2,
    "lg_Total Harcama" : 3.15
  },
  "1400004" : {
    "HHtype" : 3,
    "Sesgrup" : 4,
    "lg_Et harcaması" : 1.18,
    "lg_Total Harcama" : 3.06
  },
  "1400005" : {
    "HHtype" : 4,
    "Sesgrup" : 3,
    "lg_Et harcaması" : 2.21,
    "lg_Total Harcama" : 3.74
  },
  ....... (9000unit)
func kısıt(sesNotoSet: UInt){

    var rootRef: FIRDatabaseReference!
    var haneRef: FIRDatabaseReference!
    var numbersArray = [Int] ()

    self.sesNo = sesNotoSet



    rootRef = FIRDatabase.database().reference()
    haneRef = rootRef.child("SES2014")

    var queryCount : UInt = sesNotoSet
    haneRef.queryOrderedByChild("Sesgrup").queryEqualToValue(queryCount).observeEventType(.ChildAdded, withBlock: { (snapshot) in
        print(snapshot)

        if let HHtypeDict = snapshot.value! as? [String:AnyObject]{
            for each in HHtypeDict{
                numbersArray.append(each.1["HHtype"] as! Int)
            }

            queryCount -= 1
            if queryCount <= 0 {
                print(numbersArray)
            }


        }

    })



}
Snap (1400005) {
    HHtype = 4;
    Sesgrup = 3;
    "lg_Et harcamas\U0131" = "2.21";
    "lg_Total Harcama" = "3.74";
}

但是,快照应该有425个这样的元素

共有1个答案

缪宪
2023-03-14

试试这个:-

  func kısıt(sesNotoSet: UInt){

    var rootRef: FIRDatabaseReference!
    var haneRef: FIRDatabaseReference!
    var numbersArray = [Int] ()

    self.sesNo = sesNotoSet



    rootRef = FIRDatabase.database().reference()
    haneRef = rootRef.child("SES2014")

    var queryCount : UInt = sesNotoSet
    haneRef.queryOrderedByChild("Sesgrup").queryEqualToValue(queryCount).observeEventType(.ChildAdded, withBlock: { (snapshot) in


        if let HHtypeDict = snapshot.value! as? [String:AnyObject]{
           for each in HHtypeDict{
           numbersArray.append(each.1["HHtype"] as! Int)
              }

        queryCount -= 1
        if queryCount <= 0 {
            print(numbersArray)
        }

      }

    })



}
 类似资料:
  • 问题内容: 我需要更新表名(col1name) 如果已经有数据,我需要将其附加值’a,b,c’如果为NULL,则需要添加值’a,b,c’ 我知道有一个CONCAT参数,但是不确定SQL语法是什么。 以上正确吗? 问题答案: 试试这个查询: 请参阅此sql小提琴演示。

  • 我试图比较两个id,并将一个属性附加到现有的本地存储数据中。在循环中。 这是显示示例数据的代码 简单地说,我试图检查

  • 问题内容: 我有一个函数,它返回像这样的字典: 我试图将此字典追加到这样的数据框: 不幸的是,数据框的打印导致空的数据框。有任何想法吗? 问题答案: 您没有将值分配给结果。

  • 问题内容: 这可能很容易,但是我有以下数据: 在数据框1中: 在数据框2中: 我想要一个具有以下形式的数据框: 我尝试使用该方法,但是得到了交叉连接(即笛卡尔积)。 什么是正确的方法? 问题答案: 通常看来,您只是在寻找联接:

  • 我需要将多个列附加到现有的spark dataframe,其中列名称在列表中给定,假设新列的值是常量,例如给定的输入列和dataframe是 并且在附加两列后,假设 col1 的常量值为“val1”,col2 的常量值为“val2”,则输出数据帧应为 我已经编写了一个函数来追加列 有没有更好的方式,更具功能性的方式去做。 谢啦

  • 问题内容: 我需要将数据“添加”到已经包含数据的字段中,而不会删除当前的内容。例如,如果该字段包含HTML,则需要向该字段添加其他HTML。是否存在将执行此操作的SQL调用,或者我需要调用该字段中的数据,将新数据连接到现有数据,然后将其重新加载到数据库中? 问题答案: