在文档中,它说我应该使用此代码来设置新值:
self.ref.child("users").child(user.uid).setValue(["username": username])
这样,我可以设置用户名。但是,如果我想稍后添加其他值,比如XP点,我使用以下代码行:
var XPPoints = 1
self.ref.child("users").child(user.uid).setValue(["XPPoints": XPPoints])
但是,这会删除用户名值或之前存储的任何其他值。它取代了所有的价值。 我还尝试了文档所说的第二件事:https://firebase.google.com/docs/database/ios/read-and-write#basic_write这就是这行代码:
self.ref.child("users/(user.uid)/username").setValue(username)
这会在启动时立即崩溃我的应用程序。我的问题是:如何添加数据,而不是替换旧值?
编辑: 通过将代码更改为: self.ref.child("用户/ \(user.uid)/用户名&#34)。的setValue(用户名)
答案 0 :(得分:10)
您的解决方案不应解决您遇到的问题。您需要使用updateChildValues
代替setValue
。这会添加值而不是覆盖引用节点中的所有内容。