- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想对 Firebase RealTimeDatabase 中的数据进行排序。我想做的是,当我首先加载数据时,它将从我放入的子值(如“7”)开始,然后它将根据子“NUMBER”值按升序对数据库进行排序,并 limitToFirst( 2)数据。但日志始终显示dataSnapshot不存在。
这是我的代码
Code for loading data
private void testData(){
final ArrayList<FirebaseDatabaseGetSet> testArrayList;
testArrayList = new ArrayList<>();
databaseReference = firebaseDatabase.getReference();
databaseReference.child("VTEST").orderByChild("NUMBER").startAt("7").limitToFirst(2).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()){
Log.d("MOSTPOPCURRENTLASTNODE", "LOAINGMOREDATA");
for (DataSnapshot DS:dataSnapshot.getChildren()){
FirebaseDatabaseGetSet getSet = DS.getValue(FirebaseDatabaseGetSet.class);
testArrayList.add(getSet);
}
Log.d("MOSTPOPCURRENTLASTNODE", String.valueOf(testArrayList.get(0).getNUMBER()));
Log.d("MOSTPOPCURRENTLASTNODE", String.valueOf(testArrayList.get(1).getNUMBER()));
}else {
Log.d("MOSTPOPCURRENTLASTNODE", "NOLOAINGMOREDATA");
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
这是我的 Firebase 数据结构
Data Structure
"VTEST" : {
"A" : {
"NUMBER" : 5
},
"B" : {
"NUMBER" : 3
},
"C" : {
"NUMBER" : 7
},
"D" : {
"NUMBER" : 10
},
"E" : {
"NUMBER" : 12
},
"F" : {
"NUMBER" : 8
}
}
我从日志中期望的是“7”和“8”,但它总是显示 dataSnapshot 不存在。有人可以告诉我我在这里做错了什么,我已经尝试寻找其他一些类似的问题,但找不到任何解决方案。
最佳答案
您的过滤条件:
databaseReference.child("VTEST").orderByChild("NUMBER").startAt("7")
您正在存储:
"NUMBER" : 7
如果你仔细看,你会发现一个是字符串,另一个是整数。在 Firebase 实时数据库中,不同类型的值永远不会相等。
要解决此问题,请按数值过滤:
databaseReference.child("VTEST").orderByChild("NUMBER").startAt(7)
关于java - Android 如何让从 firebase 数据库加载数据与 orderByChild() & startAt() & limitToFirst() 结合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55682313/
我正在尝试限制从 Firebase 返回的数据数量,目前它带回的所有数据显然不好。 是否可以取回最新的10行?我正在查看 limitToFirst(limit),但无法完全让语法在我的代码中工作。有什
我正在使用 Firebase 检索用户的一些数据。我需要使用“gameSearching: true”检索仅一个用户。 我现在得到以下代码: var ref = new Firebase("https
大家好,我从 recyclerview 中的 firebase 获取了数据。为了更好地理解我的问题,请访问我之前的问题。 How do i add the show more functionalit
我正在尝试在 firebase 中制作一个区域词典应用程序。 数据结构图像:Data structure 用于分页的 OrderByKey 和 limitToFirst 查询工作正常,它仅加载查询的数
我在我的 Firebase 应用程序中收到此控制台消息:“FIREBASE 警告:Query.limit() 已弃用。请改用 Query.limitToFirst() 或 Query.limitToL
我想对 Firebase RealTimeDatabase 中的数据进行排序。我想做的是,当我首先加载数据时,它将从我放入的子值(如“7”)开始,然后它将根据子“NUMBER”值按升序对数据库进行排序
是否可以有这样的查询 postRef .orderByChild("dateCreated") .startAt(startDate) .limitToFirst(5) .en
我是一名优秀的程序员,十分优秀!