firebase数据库如何知道父级是否存在?

时间:2018-11-18 14:27:27

标签: android firebase firebase-realtime-database

我有以下情况:

一个用户可以拥有多张照片,每张照片都可以由其他用户举报,因为它们违反了应用程序的条款

所以我做类似的事情:

FirebaseDatabase.getInstance().getReference().child("reports").child(ownerId).child(g.getMediaId()).addListenerForSingleValueEvent(new ValueEventListener() {
...
...
 public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
 if (!dataSnapshot.exists()) { //do stuff 
 }
}

如果整个分支都存在,则指向dataSnapshot.exists(),返回该点...可能不存在,因为mediaID是新的(该照片的第一份报告)或整个ownerId分支是新的(该用户的任何照片的第一份报告)

我怎么知道父母是否存在?

1 个答案:

答案 0 :(得分:1)

只是总结一下我的理解:

  • 您有一个JSON树/reports/$ownerid/$mediaid
  • 您将侦听器附加到特定的/reports/ownerid/mediaid
  • 您要检查ownerid是否存在。

侦听器将所有数据附加到附加位置的下面,但它不会从附加水平获取任何数据。因此,确定/reports/ownerid是否存在的唯一方法是在该级别上附加一个侦听器。

请注意,这将随后在该/reports/ownerid下下载所有数据,可能超出您的需求。如果是这种情况,请考虑保留一个单独的known_owners列表,在其中跟踪您拥有数据的所有者。