0
我有以下Firebase数据库结构,我想要检索具有“Mike 22”主机的整个对象。使用Firebase基于1属性检索整个对象?
这是不是在ValueEventListener
事件,所以我没有访问DataSnapshot。我如何根据查询检索对象?我想用一种SQL风格来完成,你可以输入SELECT object FROM objects WHERE host = "Mike 22"
。有没有办法做到这一点?
目前我有参考数据库,如下所示:
mDatabase = FirebaseDatabase.getInstance().getReference().child("objects");
好吧,在得到那个'Query'之后,我该怎么办?我尝试添加一个childEventListener,但由于没有更改数据,因此它没有执行任何操作。我希望该查询返回我创建的类的一个对象 – Michael
@Michael,如果您的查询匹配任何数据,那么将为每个现有子节点调用一次子侦听器,然后再次进行任何更改。您也可以使用'addListenerForSingleValueEvent'来读取整个列表一次。 –
当您连接到正确的位置并且有权读取数据时,'ChildEventListener'和'ValueEventListener'都会触发。要检测权限,请参阅http://stackoverflow.com/documentation/firebase/5548/how-do-i-listen-for-errors-when-accessing-the-database/22652/detect-errors-when-reading-数据上的Android#吨= 201611302029432848424 –