【问题标题】:Is there a way to add a new column to already created Firebase database in Swift?有没有办法在 Swift 中向已创建的 Firebase 数据库添加新列?
【发布时间】:2017-04-10 13:44:24
【问题描述】:

我已经将电子邮件和密码作为 Firebase 数据库中的字段,但我希望每个用户也有“积分”。有没有办法将此列添加到所有用户,以便可以在“用户”上调用“点”并被识别?谢谢。

这是我的 saveUser 函数所在的地方

import Foundation
import FirebaseDatabase

class DBProvider {
    private static let _instance =  DBProvider();

    static var Instance: DBProvider {
        return _instance;
    }

    var dbRef: FIRDatabaseReference {
        return FIRDatabase.database().reference();
    }

    var driversRef: FIRDatabaseReference {
        return dbRef.child(Constants.DRIVERS)
    }


    func saveUser(withID: String,email: String, password: String) {
        let data: Dictionary<String, Any> = [Constants.EMAIL: email, Constants.PASSWORD: password];

        driversRef.child(withID).child(Constants.DATA).setValue(data);
    }




} //class

这就是它的名字。

func signUp(withEmail: String, password: String, loginHandler: LoginHandler?) {
    FIRAuth.auth()?.createUser(withEmail: withEmail, password: password, completion: { (user, error) in
        if error != nil {
            self.handleErrors(err: error as! NSError, loginHandler: loginHandler);
        } else {
            if user?.uid != nil {
                // store the user to database

                DBProvider.Instance.saveUser(withID: user!.uid, email: withEmail, password: password)
                //log in the user
                self.login(withEmail: withEmail, password: password, loginHandler: loginHandler)
            }
        }
    })

} //sign up func

【问题讨论】:

    标签: swift firebase firebase-realtime-database


    【解决方案1】:

    您可以随时将points 属性添加到用户。

    以与您现在保存emailpassword 相同的方式保存它。附带说明:我不会明文保存密码,至少对其进行哈希处理并将哈希发送到 Firebase。

    您的用户也会有积分,但您的旧用户不会,因此需要手动为他们更新条目: - 从 Firebase 中检索它们 - 给他们添加points

    【讨论】:

    • 我可以将积分保存给新用户,但是当我尝试调用“user.points”来显示它们时(并且我已经能够显示“user.email”),我收到一个错误“ FIRuser没有会员“积分”。我什至删除了firebase(数据库和身份验证)中没有积分列的帐户,因为没有那么多。这是因为有没有“积分”的分支制作帐户吗?
    • 如果您的代码正在生产中并且其他人正在使用它,是的。他们正在添加不符合新模型的用户。
    猜你喜欢
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 2023-03-23
    • 2020-03-25
    • 2020-10-30
    • 1970-01-01
    • 2019-10-13
    • 2022-07-22
    相关资源
    最近更新 更多