我需要在 Random Key 中找到现有的 Child,并且我已经使用 OrderByChild() 和 EqualTo() 来过滤查询,但它的行为很奇怪,有时它显示只有一个 Child 存在 child,有时它不起作用。

我需要检查“February_2019”的孩子(date_expense)是否存在?我试过这个
主要活动
databaseReference = firebaseDatabase.getReference("Expenses_Details");
expensesaddref = databaseReference.child(username).child("Expense_Month").child(monthyr);
int currentInt=Integer.parseInt(currentdate);
numberToWord((currentInt % 100));
Log.d("date_string",String.valueOf(dateString));
final String date_expense=expensesname +"" + dateString;
final ExpenseClass expenses=new ExpenseClass(expensesname,currentdate,date_expense,totalcost);
expensesaddref.orderByChild("date_expense").equalTo(date_expense).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
Toast.makeText(getContext(), "Expense Already exists!!", Toast.LENGTH_SHORT).show();
}
else {
String key = expensesaddref.push().getKey();
expensesaddref.child(key).setValue(expenses);
showListAdd(expensesname);
Log.d("Adding", "Data Adding");
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
}}
笔记
如果孩子已经存在于数据库中,那么它应该显示吐司,但即使孩子已经是数据库,费用也会再次增加
在节目中,
monthYr是 February_2019
Currentdate是今天的日期
dateString是单词中的日期(即一、十一、二十)
