Java 如何通过搜索另一个子值来更新某些值?

Java 如何通过搜索另一个子值来更新某些值?,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我正在Android Studio上制作一个应用程序 使用firebase和我在更新数据时遇到问题 我试图通过搜索另一个具有我将作为参数给出的特定值的子对象来更新子对象 这是我的结构,我想将dailyRank更新为2,其中dailytoaldis为5.8 这是我写的一些代码 FirebaseDatabase database = FirebaseDatabase.getInstance(); ref = database.getReference("RECORD"); String c

我正在Android Studio上制作一个应用程序 使用firebase和我在更新数据时遇到问题

我试图通过搜索另一个具有我将作为参数给出的特定值的子对象来更新子对象

这是我的结构,我想将
dailyRank
更新为2,其中
dailytoaldis
为5.8

这是我写的一些代码

 FirebaseDatabase database = FirebaseDatabase.getInstance();
 ref = database.getReference("RECORD");

 String check = "dailyData/1557360000000/";
 ref.child(check).child("dailyTotalDis").equalTo("5.8").setValue("1");

我确信我的代码有问题,但我不知道如何以不同的方式处理


谢谢大家!

如果要基于
dailyTotalDis
值更新
dailyRank
,请尝试以下操作:

FirebaseDatabase database = FirebaseDatabase.getInstance();
ref = database.getReference("RECORD");
String check = "CTJZNO5pU2RzlAQa7ol5OlQoTmU2/dailyData/1557360000000/";

ref.child(check).addListenerForSingleValueEvent(new ValueEventListener() {
 @Override
public void onDataChange(DataSnapshot dataSnapshot) {
   Integer value = dataSnapshot.child("dailyTotalDis").getValue(Integer.class);
   if(value.equalsTo(5.8))
        ref.child(check).child("dailyRank").setValue("1");
}

@Override
public void onCancelled(FirebaseError firebaseError) {
  }
});

首先,获取对节点的引用,然后检索
dailyTotalDis
的值,如果满足条件,则更新
dailyRank

如果要基于
dailyTotalDis
值更新
dailyRank
,请尝试以下操作:

FirebaseDatabase database = FirebaseDatabase.getInstance();
ref = database.getReference("RECORD");
String check = "CTJZNO5pU2RzlAQa7ol5OlQoTmU2/dailyData/1557360000000/";

ref.child(check).addListenerForSingleValueEvent(new ValueEventListener() {
 @Override
public void onDataChange(DataSnapshot dataSnapshot) {
   Integer value = dataSnapshot.child("dailyTotalDis").getValue(Integer.class);
   if(value.equalsTo(5.8))
        ref.child(check).child("dailyRank").setValue("1");
}

@Override
public void onCancelled(FirebaseError firebaseError) {
  }
});
首先,获取对节点的引用,然后检索
dailyTotalDis
的值,如果满足条件,则更新
dailyRank