Java 如何在Firebase数据库中查询范围,如(a>;=26或a<;=3)?

Java 如何在Firebase数据库中查询范围,如(a>;=26或a<;=3)?,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,在(a>=26或a范围内是否有查询的变通方法基于@AndréKool的建议,此解决方案对我有效。但是请确保两个查询中的索引必须不同,以避免结果重复。谢谢 userRef.orderByChild("paybackDay").startAt(26) .addValueEventListener( new ValueEventListener() { @Override public void onDataChange(@NonNull D

(a>=26或a范围内是否有查询的变通方法基于@AndréKool的建议,此解决方案对我有效。但是请确保两个查询中的索引必须不同,以避免结果重复。谢谢

userRef.orderByChild("paybackDay").startAt(26)
   .addValueEventListener(
       new ValueEventListener() {
          @Override
          public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

              ArrayList<Member> members = new ArrayList<>();
              for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                  members.add(snapshot.getValue(Member.class));
              }

              ArrayList<Member> finalMembers = members;

              mDatabaseUtils.mMemberRef.orderByChild("paybackDay").endAt(3)
                  .addValueEventListener(new ValueEventListener() {
                         @Override
                         public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                             for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                                   finalMembers.add(snapshot.getValue(Member.class));   
                             }

                             // finalMembers is the resultant list.
                   }

                          @Override
                          public void onCancelled(@NonNull DatabaseError databaseError) {}
       });`
userRef.orderByChild(“还款日”).startAt(26)
.addValueEventListener(
新的ValueEventListener(){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
ArrayList成员=新的ArrayList();
对于(DataSnapshot快照:DataSnapshot.getChildren()){
add(snapshot.getValue(Member.class));
}
ArrayList finalMembers=成员;
mDatabaseUtils.mMemberRef.orderByChild(“回款日”).endAt(3)
.addValueEventListener(新的ValueEventListener(){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
对于(DataSnapshot快照:DataSnapshot.getChildren()){
add(snapshot.getValue(Member.class));
}
//finalMembers是结果列表。
}
@凌驾
已取消的公共void(@NonNull DatabaseError DatabaseError){}
});`

@NickA不,不包括,3到26之间的任何值都是排除的,或者范围(a>3和a<26)内的值不是排除的desired@FedericoklezCulloca…显然,这是一个漫长的早晨,我把它读作>=3或a。@NickA relatable:)无论如何,放置AND将导致根本没有值,因为您不能有一个既
=26又
NO的数字,而不是组合查询,而是组合来自不同查询的结果。对于值=26,您有一个查询。
userRef.orderByChild("paybackDay").startAt(26)
   .addValueEventListener(
       new ValueEventListener() {
          @Override
          public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

              ArrayList<Member> members = new ArrayList<>();
              for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                  members.add(snapshot.getValue(Member.class));
              }

              ArrayList<Member> finalMembers = members;

              mDatabaseUtils.mMemberRef.orderByChild("paybackDay").endAt(3)
                  .addValueEventListener(new ValueEventListener() {
                         @Override
                         public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                             for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                                   finalMembers.add(snapshot.getValue(Member.class));   
                             }

                             // finalMembers is the resultant list.
                   }

                          @Override
                          public void onCancelled(@NonNull DatabaseError databaseError) {}
       });`