【问题标题】:How do I search Firebase to see if a user exists?如何搜索 Firebase 以查看用户是否存在?
【发布时间】:2017-10-29 21:06:49
【问题描述】:

我正在尝试搜索以查看用户键入的电子邮件是否存在于数据库中,而不是我对路径进行硬编码。例如,我的第一个孩子被称为“用户”,然后它显示一个自动 ID,然后是“电子邮件”,然后是用户电子邮件。问题是如果我搜索用户和电子邮件应用程序将崩溃,它需要唯一的 ID。我只想检查所有电子邮件以了解用户输入的电子邮件是否存在

- (IBAction)signIn:(id)sender {

    FIRDatabaseReference *usersRef = [[FIRDatabase database] reference];

    [[[[usersRef child:@"User"] child:@"-Kx_mPZvAzxZ9U3U0VXq"] child:@"Email"] observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {


        NSString *record = snapshot.value;
        if(record.length > 0) {
            NSLog(@"%@", record);
        }else{
            NSLog(@"NO");
        }

    }
 ];}

【问题讨论】:

  • 我认为NSString *record = snapshot.value 是检查snapshot 的错误方法。 snapshot 可以是 NSDictionaryNSArrayNSNumberNSString。如果snapshot 不是NSString 并且您使用record.length,它将导致崩溃。尝试使用[snapshot exists]查看快照。
  • 如果它不起作用,你能告诉我错误吗?

标签: ios objective-c firebase firebase-realtime-database


【解决方案1】:

你可以在不知道名字的情况下通过它们:

FIRDatabaseReference *usersRef = [[FIRDatabase database] reference];
let users = 
rootRef.childByAppendingPath(User)
menuItems.observeSingleEventOfType(.Value, withBlock: { snapshot in
    for id in snapshot.children.allObjects as! [FDataSnapshot] {
        //Access to every email here
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    • 2017-04-23
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多