簡體   English   中英

如何獲取在Firebase中添加子項而創建的唯一密鑰?

[英]how to get the unique key that was created adding a child in firebase?

我正在為我的ios項目使用firebase數據庫。

我使用childByAutoId添加了一些字段。

[[[_ref child:@"Users"] childByAutoId] setValue:@{@"data": @"my new json data string By aqeel", @"email": @"abc.xyz@email.com"}];

現在由於某種原因,我必須從數據庫中搜索特定的孩子,例如電子郵件ID。 如果存在電子郵件ID,我想獲取該孩子的唯一密鑰。

我正在做這個

[[[[_ref child:@"Users"] queryOrderedByChild: @"email" ] queryEqualToValue:@"abc.xyz@email.com" ] observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot *snapshot) {
    NSLog(@"%@ Key %@ Value", snapshot.key,snapshot.value);
}];

在這里,關鍵我得到“用戶”和值我得到的所有條目Users領域。 但我想獲取孩子abc.xyz@email.com的密鑰。

有人可以給我提供示例代碼嗎?

當您對Firebase數據庫執行查詢時,可能會有多個結果。 因此,快照包含這些結果的列表。 即使只有一個結果,快照也將包含一個結果的列表。

這意味着您將不得不遍歷snapshot.children

或者,您可以偵聽單個.ChildAdded事件並以這種方式獲取子項:

[[[[_ref child:@"Users"] 
    queryOrderedByChild: @"email" ] 
    queryEqualToValue:@"abc.xyz@email.com" ] 
    observeSingleEventOfType:FIRDataEventTypeChildAdded withBlock:^(FIRDataSnapshot *snapshot) {
        NSLog(@"%@ Key %@ Value", snapshot.key,snapshot.value);
}];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM