Firebaseデータベースの値を更新しようとしています。プッシュで作成されたノードを持つFirebaseデータベースの更新
私はr_id
とs_id
が特定の値を持っている場合"accepted"
にstatus
の値を更新する必要があります。これは、データベースの構造です。ここでの問題は、各friend_data
子供のための鍵は、この
db.child("friend_data").push().setValue(friend);
私は
this question here試してみました
とthis one hereのような「プッシュ」を使用して生成されますが、両方は私の要件を満たしていないということです。この問題を解決するにはどうしたらいいですか?
編集:ここでQuery
を使用するはずです。これは私が試したものです:
final DatabaseReference db = FirebaseDatabase.getInstance().getReference("friend_data");
Query query = db.orderByChild("r_id").equalTo(f_id).orderByChild("s_id").equalTo(id);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot child : dataSnapshot.getChildren()) {
db.child(child.getKey()).child("status").setValue("accepted");
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
これはどちらか
このエラーが発生したため、java.lang.IllegalArgumentExceptionが動作しません:あなたは、複数のORDERBYコールを組み合わせることはできません!。
どのように2つのクエリを組み合わせるのですか?