如何获得当前孩子的父母?

时间:2019-08-28 14:24:51

标签: android firebase-realtime-database

在下面的实时数据库中。

当我拥有价值("image": "firestorage")时,如何获得他的父母("posts")?

如何获得当前孩子的父母?

{

    "posts": {
      "name": "hemy",
      "description": "soft,TRAVEL",
      "address": "SANAA,INDIA",
      "image": "firestorage",
      "userid": "1"
    }

}

2 个答案:

答案 0 :(得分:0)

我假设您要执行的操作是根据值的当前含义查询快照,您想查找一个孩子的所有值为“ image” =“ firestorage”的父母

您只需创建一个查询并使用它,

Query searchAllQuery = postsRef
            .orderByChild("image");

searchAllQuery.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
        // filter your data here

        }
    }

    @Override
    public void onCancelled(FirebaseError firebaseError) {

    }
});

答案 1 :(得分:0)

  

您应该从dataSnapshot调用getKey()方法

 final Query userQuery = mRef.orderByChild("name");

 userQuery.addChildEventListener(new ChildEventListener() {
 @Override
 public void onChildAdded(DataSnapshot dataSnapshot, String s) {
    map.clear();
    //Get the parent from the datasnapshot
    String myParentNode = dataSnapshot.getKey(); // parent node
    for (DataSnapshot child: dataSnapshot.getChildren())
    {
       String key = child.getKey().toString(); //child node
       String value = child.getValue().toString();
       map.put(key,value);
    }