从多个孩子 Android Firebase 中检索同一个孩子

Posted

技术标签:

【中文标题】从多个孩子 Android Firebase 中检索同一个孩子【英文标题】:Retrieve the same child from multiple children Android Firebase 【发布时间】:2021-03-11 08:06:48 【问题描述】:

这是我的数据库的样子:

正如您在“Mjerenja”下看到的,有多个代表日期的子代。在这些孩子中的每一个之下,都有一个名为“最新”的孩子,它拥有一个真或假的价值。在这个数据库中,总是只有一个最新的孩子的值为真,而其余的总是假的。我该如何去检索这个孩子,更具体地说是从持有“最新”值为真的孩子中检索“基准”孩子?

【问题讨论】:

【参考方案1】:

你的查询可以是这样的

var MjerenjaRef = firebase.database().ref("Mjerenja/");
MjerenjaRef.orderByChild("latest”).equalTo(True);

【讨论】:

【参考方案2】:

有一个名为“latest”的孩子,它持有真或假值。

查看您的数据库,“最新”属性的值为真或假,但作为字符串,不是作为布尔值。但是,如果您想获取“最新”属性设置为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

【讨论】:

嗨Jinglepot!我可以帮助您了解其他信息吗?如果您认为我的回答对您有帮助,请考虑采纳(✔️)。我真的很感激。谢谢!

以上是关于从多个孩子 Android Firebase 中检索同一个孩子的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 HashMap 从 Android 的 Firebase 中的子节点获取数据?

如何从 Firebase android kotlin 获取所有具有特定价值的孩子?

Android Firebase如何获取包含列表的孩子

如何从孩子的 Firebase 获取数据?

Firebase 如何更新多个孩子?

找不到孩子的孩子价值 Firebase Android