ios - 在 firebase 中插入而不是更新

标签 ios swift firebase firebase-realtime-database

我正在尝试将新值插入 Firebase 实时数据库。但是每次我“注册”一个新用户时,我的数据库数据都会被新用户替换。我完全不知道如何才能做到这一点。

这是我的代码..

//Create a new user with txtfield email & password
     Auth.auth().createUser(withEmail: email, password: password) { authResult, error in

     //Printing error if any
     if error != nil
     {
     print(error as Any)
     return
     }

     //Getting database reference
     let ref = Database.database().reference()

     //Values to insert into database
        let values = ["Username": self.username, "Email": self.email, "Name1": self.name1, "Name2": self.name2, "Name3": self.name3, "Name4": self.name4, "Name5": self.name5, "Name6": self.name6, "Dog1": dog1, "Dog2": dog2, "Dog3": dog3]

     //Updating the child values
     ref.updateChildValues(values, withCompletionBlock: { (err, ref) in


     //Printing error if any
     if err != nil
     {
     print(err as Any)
     return
     }

     //Succeded if no errors
     print("Saved user successfully in Firebase database!")

     })

我认为问题出在

         ref.updateChildValues(values, withCompletionBlock: { (err, ref) in

但我不知道如何替换它。所以为了让它简短。 每次我创建新用户时,数据库数据都会被替换。我基本上希望它为每个用户创建一个新的“行”。

最佳答案

您需要在子项下插入项目,例如 users/userID

 guard let firUser = authResult.user else { return }
 let userID = firUser.uid
 let ref = Database.database().reference()
 let user = ref.child("users/\(userID)")
 user.updateChildValues////

数据库

  > users

    > njfjnjnf889489489 // some user uid

      > name

      > mail

    > 322jnjnf889489483 // some user uid

      > name

      > mail

关于ios - 在 firebase 中插入而不是更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54807786/

相关文章:

ios - 如何在多页面 SwiftUI 用户注册之间传递用户输入数据?

ios - 了解代码是否是针对 iPhone、iPad 或 Universal 编译的

ios - 如何为 QBChat 设置 currentUser()?

ios - swift 3.0,火力地堡 : How to get last added record

android - 如何解决 Google API 建议、程序类型已存在的问题?

javascript - 我的代码中的云功能错误或错误 : www. googleapis.com 网络超时。请再试一次

ios - 我将在哪里获得用于实现 Azure B2c 身份验证的 kGraphURI 和 kScopes

ios - Swift 3 中的 Any 、 Hashable 、 AnyHashable 有什么区别?

arrays - 在 Swift 中对字符串字典数组进行排序

ios - 在 Swift 中检查字符串是否至少包含大写字母、数字或特殊字符?