在下面的实时数据库中。
当我拥有价值("image": "firestorage"
)时,如何获得他的父母("posts"
)?
如何获得当前孩子的父母?
{
"posts": {
"name": "hemy",
"description": "soft,TRAVEL",
"address": "SANAA,INDIA",
"image": "firestorage",
"userid": "1"
}
}
答案 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);
}