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) {}
});`