2017-09-27 14 views
0

データベースから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")を削除すると動作します。

ありがとうございました。

答えて

0

実際にJSONデータベース形式の子パス名が「Students」の場合は、「Student」を参照しています。

また、キーで照会していることを確認してください。キーで問い合わせる方法については、Firebaseのマニュアルを参照してください。私はあなたの構造を理解していませんが、キーごとに2人の子供がいます。

なぜ、各子供に新しいキーを持っていないのですか?

+0

学生はタイプミスであった – John

+0

どのようにキーあたり2人の子供がいますか?たとえば、-Kv2RVDDsI-v6V7g_LBnにはsamとtomがありますか? –

+0

2つの異なるクエリを使用する必要があります –

関連する問題