2017-01-17 6 views
1

マイfirebaseデータベース構造はこのFirebaseクエリが

items = [ 
id{ 
country: value 
likes: value 
... 
} 
] 

のようなものです動作しません、私は好きでソートされた項目を照会すると、国 によってフィルタリングだから私は、クエリorderByChildを使用。。(100)

AndroidのコードlimitToFirst(値、 "国")equalTo( "好き"):

DatabaseReference ref = mDatabase.child(remotePath); 

Query recentList = ref.orderByChild("likes"); 

if(!country.equals("")){ 
    recentList = recentList.equalTo(country, "country").limitToFirst(100); 
} 
recentList.addListenerForSingleValueEvent(); 

しかし、これはすべての結果を返しません。 withと一緒に働く方法はありますか? 私はこれをファイアベースのクエリで動作させ、既に使用されているのでデータベース構造を変更しないようにします。

+0

コードを少し表示できますか? ...同じトピックについても非常によく似た質問があるようです(このページの関連する質問を参照) –

+0

@martin、コードスニップを追加しました。私は他の正確な質問や答えを見つけることができませんでした –

答えて

1

orderByChild("/*some child*/")で質問を発注しているので、equalTo(/*some value*/)メソッドはその指定された子を参照します。オプションのkeyパラメータを間違って使用しています。

keyパラメータの詳細については、equalToを参照してください。this answerおよびFirebaseドキュメントを参照してください。

+0

ありがとう。 FirebaseのAndroidのドキュメントには、Webドキュメントには何があるのか​​は言及されていないようです。まあ、私はソート部分をローカルで処理すると思います。 –