java - 从多个孩子 Android Firebase 中检索同一个孩子
问题描述
这是我的数据库的样子:
正如您在“Mjerenja”下看到的,有多个代表日期的孩子。在这些孩子中的每一个之下,都有一个名为“最新”的孩子,它拥有一个真或假的价值。在这个数据库中,总是只有一个最新的孩子的值为真,而其余的总是假的。我该如何去检索这个孩子,更具体地说是从持有“最新”值的孩子中获取“基准”孩子?
解决方案
有一个称为“最新”的孩子,它拥有真或假值。
查看您的数据库,“最新”属性的值为真或假,但作为字符串而不是布尔值。但是,如果您想获取“最新”属性设置为 的项目true
,请使用以下代码行:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference mjerenjaRef = rootRef.child("Mjerenja");
Query latestQuery = mjerenjaRef.orderByChild("latest").equalTo("true");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String datum = ds.child("datum").getValue(String.class);
Log.d("TAG", datum);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d("TAG", databaseError.getMessage()); //Don't ignore potential errors!
}
};
latestQuery.addListenerForSingleValueEvent(valueEventListener);
logcat 中的输出将是:
15/11/2020
推荐阅读
- r - 基于R中两个数据帧的两列中的匹配对名称将值添加到另一个数据帧中的其他值
- php - 将新的组合数组推送到 PHP 数组
- c++ - 迭代器是否分配内存(例如指针)?
- node.js - 我如何在 adonis /node.js 中制作自定义验证器?
- html - HTML 包装器不会扩展页面的整个高度
- haskell - 如何将 typeclass 放入记录中?
- google-cloud-platform - Google Identity Platform 第三方访问?
- javascript - 错误:Unexpected Token < In Json At Position 0 Cs Cart 提交发布请求时
- javascript - 如果搜索栏为空,则 Jquery 警告
- firefox - 在没有插件的情况下重新绑定 Firefox 中的下一个/上一个选项卡