首页 > 解决方案 > 根据特定参数获取 Firebase 数据库参考 - Android Studio

问题描述

我通常从 firebase 数据库中获取我的 tupla 的参考,如下所示:

private DatabaseReference needsRef;

public void onCreate(...) {
     ...
     needsRef = FirebaseDatabase.getInstance().getReference().child("favors");
}

但现在我想将包含指定参数调用“type”的行放在“needsRef”中。如果 (type == "need"),将这些行放在 "needsRef" 中,如果 (type == "offer"),将其放在另一个名为 "offersRef" 的 DatabaseReference 中。

我显示了我的数据库的屏幕截图以澄清问题

数据库上“青睐”之后的孩子是一个并不总是相同的名字。 我显示图像

你能帮帮我吗?

标签: androidfirebasefirebase-realtime-database

解决方案


听起来您需要两个查询:一个只包含需求,另一个只包含报价。这很容易做到:

private Query needsQuery;
private Query offersQuery;

public void onCreate(...) {
     ...
     DatabaseReference favorsRef = FirebaseDatabase.getInstance().getReference().child("favors");
     needsQuery = favorsRef.orderByChild("type").equalTo("need");
     offersQuery = favorsRef.orderByChild("type").equalTo("offer");
}

我在这里使用的Query类是 的父类DatabaseReference,因此它具有许多您在使用数据库引用时已经知道的方法,并且可以以几乎相同的方式使用。


推荐阅读