如果要在节点中保存多个相同类型的子节点,childByAutoId会很有用,这样每个子节点都有自己唯一的标识符。
pet:{
KJHBJJHB:{
name:fluffy,
owner:John Smith,
},
KhBHJBJjJ:{
name:fluffy,
owner:Jane Foster,
}
}
因此,一旦我有了这个uID,我想使用他/她的uID检索特定用户。如何告诉Firebase我想要该特定用户?因为我创建它并将其存储在Firebase中,但随后要阅读它,我不需要知道uID的值吗?我从哪里得到它?
我使用什么功能来检索例如使用uID的第二个用户?
提前致谢..
答案 0 :(得分:1)
你问怎么摆脱所以::获取新的ref的关键属性来获得创建的援助
FIRDatabaseReference *ref = parent.childByAutoID
NSString *uid = ref.key
过滤掉你想要的所有者= XY的孩子:
FIRDatabaseReference *ref = your pets node
FIRDatabaseQuery *allPets = [ref queryOrderedByChild:@"owner"];
FIRDatabaseQuery *specificPet = [allPets queryEqualToValue:@"XY"];
[specificPet observeEventType:FEventTypeChildAdded withBlock:^(FIRDataSnapshot *snapshot) {
NSDictionary *dict = snapshot.value;
NSString *key = snapshot.key;
NSLog(@"key = %@ for child %@", key, dict);
}];
请参阅:Query users by name or email address using Firebase (Swift)