Swift & Firebase - обновить базу данных динамическим ключом - PullRequest
0 голосов
/ 04 мая 2019

Есть ли способ обновить базу данных с помощью динамического идентификатора в качестве ключа?

Допустим, я хочу, чтобы база данных выглядела следующим образом:

- Data
     - dynamic key
         - data 1
         - data 2

Этот ключ должен расти каждый раз, когда вызывается databaseRef.updateChildValues(addObject).

Более того, есть ли способ установить переменную в качестве ключа? Я пробовал это, но это не сработало:

var addId: Int = 0

func updateData() {
        ...

        addId += 1

        let addObject = [
            addId: someData
            ] as [String: Any]

        databaseRef.updateChildValues(addObject)
    }

Ответы [ 2 ]

0 голосов
/ 04 мая 2019

Ключ не растет.Это ключ.

Вы можете добавить дополнительные дочерние узлы под этим ключом, если вы это имеете в виду, но значения updateChild добавят дополнительные узлы только в том случае, если узел не существует.В противном случае он обновит этот узел.

Кроме того, если вы хотите получить ключ для нового узла, вы можете сделать это

let childOfDataRef = your_fb.child("data").childByAutoId()
let key = childOfDataRef.key
0 голосов
/ 04 мая 2019

Вам может понадобиться childByAutoId()

let value:[String:Any] = ["key":"value"]
ref.child("Data").childByAutoId().setValue(value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...