繁体   English   中英

Firebase查询出现问题

[英]Trouble with a Firebase Query

我是Firebase的新手,因为解析已关闭,我花了几天时间试图弄清楚如何找到我要查询的孩子的父母。 例如,假设我的父母是电子邮件,孩子是person1。 现在在我的字典中person1与person 1配对(我这样做有一个复杂的原因,但这不是问题)

所以我的代码看起来像这样。

   Firebase *fb=[[Firebase alloc]initWithUrl:@"https:firebaseURL"];
    [[[fb queryOrderedByChild:@"person1 string"] queryEqualToValue:@"person1 string"]
    observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) {
     NSLog(@"888888%@", snapshot.key);
 }];

没有显示

我真的很感谢您的帮助。 因此,基本上我需要知道如何根据子项值进行查询并找到该子项的父项。 感谢大家。

几件事;

您的查询格式不正确。 排序依据定义了您要搜索的“字段”或节点名称。它是KEY:VALUE对中的KEY部分。

[fb queryOrderedByChild:@“ person1 string”]应该是

[fb queryOrderedByChild:@“要搜索的节点名称”]

让我分解一下

给定

users
  uid_0
    name: "Jay"
    state: "Florida"
  uid_1
    name: "Leroy"
    state: "Colorado"

和代码

// a reference to the parent node we want to query
Firebase *usersRef = [self.myRootRef childByAppendingPath:@"users"];

//define which child node name we want to search
FQuery *statesRef = [usersRef queryOrderedByChild:@"state"];

//define the value we want to search for
FQuery *specificStateRef = [statesRef queryEqualToValue:@"Florida"];

[specificStateRef observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) {
    NSLog(@"snapshot:  %@", snapshot);
}];

快照将包含

  uid_0
    name: "Jay"
    state: "Florida"

父节点名称为uid_0,可以使用以下方式检索

NSLog(@" key: %@", snapshot.key);

名称和状态是存储在值中的键值对

NSLog(@" value:  %@", snapshot.value);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM