2017-04-19 3 views
0

私のデータモデルXcodeのFirebaseクエリがspacificデータ

{ 

"channels":{ 
    "channel_key_0":{ 
     "creator":"pqr", 
     "name":"Channel-1", 
     "participant":{ 
      "id_1":"Jack", 
      "id_2":"Harry" 
     } 
    }, 
    "channel_key_1":{ 
     "creator":"xyz", 
     "name":"Channel-2", 
     "participant":{ 
      "id_3":"Jerry", 
      "id_2":"Harry" 
     } 
    } 
} 

}私は参加者が値"id_1": "Jack"を持っているだけでどこのチャンネルを取得したい構造の上に与えられたから

をフェッチします。

私はFirebaseデータベースを初めて使用しています。このクエリを書くのに助けが必要です。私はいくつかのことを試みたFIRDatabase.database().reference().child("channels").queryOrdered(byChild: "participant").queryEqual(toValue: "Jack", childKey: "id_1")が、私にヌルデータを与えました。

構造の改善も歓迎します。私の考えは、この構造を適用して個人的なチャットを構築することです。

答えて

0

このようにしてください。

let ref = FIRDatabase.database().reference().child("channels") 
ref.queryOrdered(byChild: "participant/id_1").queryEqual(toValue: "Jack") 
    .observeSingleEvent(of: .value, with: { snapshot in 

    print(snapshot) 
}) 
+0

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

+0

簡単な質問.... 'participant/any_thing'のような' participant/id_1'の代わりにregexを使う方法はありますか? –

+0

@JayPandya私はそれのようなものを試していない。 :(私が適切な例を見つけたらここで応答します –

関連する問題