当我更新子项值在Firebase中添加新子项-iOS

时间:2019-07-15 17:59:00

标签: ios swift firebase firebase-realtime-database

我需要在不使用Swift代码和Firebase数据库创建新子级的情况下更改子级值

当我单击按钮时,我尝试将status的值从等待更新为接受

@IBAction func accept(_ sender: Any) {

    let values = ["status": "accepted"]
    Database.database().reference().root.child("specialCourses").childByAutoId().updateChildValues(values)

}

enter image description here

This picture contain created new child when pressing on "قبول"

update code when clicking button

the database

1 个答案:

答案 0 :(得分:0)

每次调用childByAutoId()时,数据库都会创建一个新的子节点。

如果要更新现有节点,则必须知道其ID,然后致电:

Database.database().reference().root
    .child("specialCourses").child("idOfChildYouWantToUpdate").updateChildValues(values)

由于您只更新单个字段,因此您也可以使用以下方法进行操作:

Database.database().reference().root
    .child("specialCourses/idOfChildYouWantToUpdate/status").setValue("accepted")