1
我正在寻找通过我的Firebase数据库进行搜索并查找匹配我的查询的字段:值配对,然后返回该父项的键或父对象,以便我也可以抓取其他信息。根据字段查询Firebase并在Android中返回父项
的火力地堡数据库看起来是这样的:
Events{
-KiXlIGhB6k-HpCKfO3n{
name:"Breakfast at Tiffany's",
owner:"Tim",
startTime:{
startHour:1,
startMinute:30
},
...
},
-dFgfh8Efa-Hpwe6Goqp0{...}
}
目前,我正在尝试:
public void importSchedule(String ownerName){
DatabaseReference events =
FirebaseDatabase.getInstance().getReference("Events"); //Inside the Events list
Query allOwnersEvents = events.equalTo(ownerName); //Find events equalTo ownerName provided
allOwnersEvents.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot post : dataSnapshot.getChildren()) {
// This is where the parent's could be queried, all events belonging to an "owner" should be cycled through
}
}
public void onCancelled(DatabaseError databaseError) {}
});
放置一个破发点中的for循环然而,当,它永远不会触发。我想知道我是否正确尝试查询,或者是否有更简单的方法来完成此操作。
如果我正在查看所有事件(而不仅仅是eventID指定的那个),该怎么办?我试图获得所有的ownerName里面的所有事件 –
所以这是所有的事件,而不是一个。因为'eventId'是一个变量而不是单个值。如果我已经在你的代码中使用过,比如说,child(“ - KiXlIGhB6k-HpCKfO3n”)比只适用于单个事件。但这适用于所有事件。 –
对不起,如果我误解了你,但是你说'child(eventID)'会查询我所有的事件吗?并将唯一键存储在eventID变量中?或者你是否说孩子(“ - KiXlIGhB6k-HpCKfO3n”)只会查询一个孩子。在这种情况下,我假设我没有我想要查询的事件的ID –