Обновление объекта базы данных реального времени в Firebase iOS SDK - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть база данных, которая выглядит следующим образом: enter image description here

Я хочу обновить, скажем, второго пользователя, пользователя с uid 5p3XT8TVFbVYNmFt0Kbu1ticaUT2, и изменить его имя на «Джеймс»».Используя iOS SDK, я могу сделать:

let ref = Database.database().reference()
let id = 5p3XT8TVFbVYNmFt0Kbu1ticaUT2
let databaseQuery = ref.child("users").queryOrdered(byChild: "uid").queryEqual(toValue: id)

Чтобы выполнить запрос к базе данных, чтобы она отфильтровывала всех пользователей, кроме того, которого я хочу изменить.Но этот запрос теперь будет указывать на отфильтрованный список пользователей, который содержит только пользователя, которого я хочу обновить, а не самого пользователя.Поэтому, если я попытаюсь

databaseQuery.ref.updateChildValues(...)

База данных будет выглядеть так:

enter image description here

Я не могу понять из справочника APIкак добраться до нужного ребенка.Как мне это сделать?

1 Ответ

0 голосов
/ 15 ноября 2018

Вы можете установить значение для изменения в словаре значений

func updateValues(){
    let ref = Database.database().reference()
let id = 5p3XT8TVFbVYNmFt0Kbu1ticaUT2

    let values = ["name": txf_Name.text ?? "", “email”: txf_email.text ?? "", “role”: txf_Role.text ?? ""]
    ref.child(id).updateChildValues(values, withCompletionBlock: { (error, ref) in
        if(error != nil){
            print(error?.localizedDescription ?? "")
            return
        }
        print("Values Updated")            

    })

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...