あなたはそのためFirebaseデータベースクエリを使用したい:
DatabaseReference usersRef = FirebaseDatabase.getInstance().ref("users");
Query query = usersRef.orderByChild("contacts/ghopper").equalTo(true);
// My top posts by number of stars
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot: dataSnapshot.getChildren()) {
System.out.println(snapshot.getKey());
}
}
しかし、これはあなたがスケールしない各ユーザーのためのインデックスを定義する必要があります。これは、あなたが今持っている構造が、チャットルームのユーザーを簡単に判断できるようにすることを目的としており、その逆を試みているからです。
ユーザーのチャットルームを効率的に取得できるようにするには、のチャットルームごとにユーザーのリストを保持するようにデータを構造化する必要があります。これはしばしば二次/逆/逆索引と呼ばれます。この参照の例について
:
おかげで、私はここに使うべき構造について、実際に困惑しています。 完全なデータを連絡先(名前など)に保存することをお勧めしますか? – Binev