如何在Firebase数据库中检查唯一的用户名(Swift) [英] How to check unique username in Firebase Database (swift)

查看:88
本文介绍了如何在Firebase数据库中检查唯一的用户名(Swift)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有Firebase数据库,其中每个用户都有自己的电子邮件和用户名.如何检查唯一的用户名?我试图这样做,但是我的代码无法正常工作,因此不同的用户可以使用相同的用户名

I've Firebase Database where each user has own email and username. How to check unique username? I tried to make it like this, but my code doesn't work properly therefore different users can have the same username

  usernameField.isHidden = false
    let username:String = self.usernameField.text!

    if (usernameField.text?.isEmpty == false){
    ref.child("users").queryOrdered(byChild("username").queryEqual(toValue: username).observeSingleEvent(of: .value, with: { snapshot in

            if snapshot.exists(){

                print("username exist")

            }else{

                ref.root.child("users").child(userID).updateChildValues(["username": username])
            }

        })
}

我是Firebase的新手,我为每个用户存储电子邮件和用户名,例如newUserReference.setValue(["username":String(), "email" : self.emailTextField.text!]).在下一个视图上,用户可以在usernameField.text中键入username,并且该值将添加到Firebase数据库中.但是,如果下一个用户(用户2)将输入与上一个用户相同的用户名,则该用户名必须被阻止,因为用户名应该是唯一的

I'm a little bit newbie in Firebase I store email and username for each user like this newUserReference.setValue(["username":String(), "email" : self.emailTextField.text!]). On next view, user can type username in usernameField.text and this value will be added in Firebase Database. But if the next user (user 2) will type the same username like previous user, it must be blocked, because username should be unique

推荐答案

您仍然需要指出要使用queryOrdered(byChild:)进行排序/过滤的属性:

You still need to indicate what property you want to order/filter on with queryOrdered(byChild:):

if (usernameField.text?.isEmpty == false){
    ref.child("users").queryOrdered(byChild:"username").queryEqual(toValue: username).observeSingleEvent(of: .value, with: { snapshot in

        if snapshot.exists(){

这篇关于如何在Firebase数据库中检查唯一的用户名(Swift)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆