2017-08-29 5 views
0

私は学ぶだけで初心者です。アプリケーションのために他のユーザーに関する特定の情報を引き出すフィルタオプションを作成したいと思います。したがって、ユーザーの選択に基づいて特定のFirebaseユーザーデータをテーブルビューに取得したいと考えています。たとえば、ユーザーが(男性、米国、高校)を選択した場合、Country = "USA"、性別= "男性"、学校= "高校"のすべてのユーザー名をテーブルビューに表示したいと考えています。私はこのコードをただ一つのオプション(Gender)のために試しましたが、他のオプションのクエリ(School、Country)のためにそれを行う方法はわかりませんenter image description here。あなたが私にそれをする方法を示すことができれば感謝します。おかげIOSのユーザ設定に基づいて特定のfirebaseデータの結果を取得するにはどうすればよいですか?

let ref = Database.database().reference() 

    ref.child("users").queryOrdered(byChild: "Gender").queryEqual(toValue: genderLbl.text) // "genderLbl.text = "Male" 

答えて

0

あなたはおそらくすでにFirebaseはあなたのようなデータは、クエリとSQLベースで行う取得できないことを意味していない-SQLデータベースシステム、である、要素間の関係はありません知っているように。どのデータを検索するかという点でモデルについて考える必要があります。

それは同様に、ジェームズという名前の、(ユーザーの作成時に)高校では、アメリカ、男性からのすべてのユーザーにあなたの参照を置くパスを作成するためにあなたの仕事です:あなたが持っている場合は

- Users 
- UsersByCountry 
    - USA 
     - Male 
      - HighSchool 
       - James 
        - 846efz-ezf4z6e-zef6ze4f8 (id of the user) 
        - 846efz-315da3z-az5z5e422 
        - 846efz-azd5a7z-dafg4g5ej 
       - Alfred 
       - Robert 
      - ElementarySchool 
     - Female 
    - UK 
    - Canada 

あなたのモデルとあなたのサービスの関係の多くは、接続されたデータの多くを取得する必要があります、私はあなたがSQLデータベースのために変更することをお勧めします。

関連する問題