Encuentre si el niño dentro de los datos secundarios existe o no Android Firebase

Esto puede ser una pregunta duplicada, pero tengo muchos intentos pero no obtuve mi resultado, aquí está mi estructura de base de fuego

Actualizad

Necesito encontrar si el niño gastosNombre (Por ejemplo, puede serpetróle) si existe no está bajo el nodo completo de November_2018 (Dentro del cuadro rojo). Si existe, necesito mostrar tostadas

Abajo está el Código que he probado:

//Here monthyr is the November_2018
      expensesaddref = databaseReference.child(username).child("Expense_Month").child(monthyr);
     //Variable expensesname is the variable that i want to  checked for existent
           expensesaddref.orderByChild("expensesName").equalTo(expensesname).addListenerForSingleValueEvent(new ValueEventListener() {
               @Override
               public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                   for (DataSnapshot ds : dataSnapshot.getChildren()) {
                       Log.d("List Exp","1 loop");
                       for(DataSnapshot data : ds.getChildren()){
                           Log.d("List Exp","2 loop");
                               if(data.child("expensesName").exists()){
                                   Log.d("List Exp","if loop");
                                   Toast.makeText(getContext(), "exist", Toast.LENGTH_SHORT).show();
                               }else
                               {
                                   Log.d("List Exp","else loop");
                                   Toast.makeText(getContext(), "not exist", Toast.LENGTH_SHORT).show();
                               }
                           }
                       }
                   }


               @Override
               public void onCancelled(@NonNull DatabaseError databaseError) {

               }
           });

No sé dónde estoy equivocado y muestraNot Exist Toast siempre pero la base de fuego tiene ese valor

SegúnPradyumanDixit Respuesta He actualizado el código pero aún no funciona

//Here monthyr is the November_2018
          expensesaddref = databaseReference.child(username).child("Expense_Month").child(monthyr);
expensesaddref.orderByChild("expensesName").equalTo("oil").addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                if(dataSnapshot.exists()){
                    Toast.makeText(getContext(), "Exist", Toast.LENGTH_SHORT).show();

                }else
                    Toast.makeText(getContext(), "not", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });

Respuestas a la pregunta(4)

Su respuesta a la pregunta