我试图在现有节点内创建一个新节点。我尝试的其他代码只是在Mariot中添加了infos。我试图把节点放在马里奥特“客人”,然后自动识别,然后信息。
酒店
马里奥
地址:########
联系人:########
电子邮件:########
唯一ID:########
我想把另一个节点放在马里奥里面,那就是“客人”
下面是我试过的代码。

@IBAction func acceptBtn(_ sender: Any) {
Database.database().reference().child("hotels").queryOrdered(byChild:
"uniqueID").queryEqual(toValue: requestID).observe(.childAdded) {
(snapshot) in

snapshot.ref.updateChildValues(["email":email, "contact":contact])
}
}

我希望是这样。
酒店
马里奥
地址:########
联系人:########
电子邮件:########
唯一ID:########
客人
(自动识别)
电子邮件:########
联系人:########
(自动识别)
电子邮件:########
联系人:########
(自动识别)
电子邮件:########
联系人:########

最佳答案

要在子节点下添加新值,请执行以下操作:

ref.updateChildValues(["guest/email":email, "guest/contact":contact])

如果您还需要一个自动ID:
let key = ref.childByAutoId().key
ref.updateChildValues(["guest/\(key)/email":email, "guest/\(key)/contact":contact])

但我不确定你是否真的需要在这里使用updateChildValues。您还可以简单地执行以下操作:
ref.childByAutoId().setValue(["email":email, "contact":contact])

关于swift - 如何在现有节点内添加新节点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57239205/

10-12 14:33
查看更多