【问题标题】:Swift & Firebase - update database with dynamic keySwift & Firebase - 使用动态密钥更新数据库
【发布时间】:2019-05-04 17:30:39
【问题描述】:

有没有办法以动态 id 作为键来更新数据库?

假设我希望数据库看起来像这样:

- Data
     - dynamic key
         - data 1
         - data 2

每次调用databaseRef.updateChildValues(addObject) 时,该密钥都会增长。

此外,有没有办法将 var 设置为键?我试过了,但没有用:

var addId: Int = 0

func updateData() {
        ...

        addId += 1

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

        databaseRef.updateChildValues(addObject)
    }

【问题讨论】:

标签: ios swift firebase


【解决方案1】:

您可能需要childByAutoId()

let value:[String:Any] = ["key":"value"]
ref.child("Data").childByAutoId().setValue(value)

【讨论】:

    【解决方案2】:

    密钥没有增长。这是一把钥匙。

    如果您的意思是这样,您可以在该键添加额外的子节点,但 updateChild 值只会在节点不存在时添加额外的节点。否则它将更新该节点。

    另外,如果你想获得一个新节点的密钥,你可以这样做

    let childOfDataRef = your_fb.child("data").childByAutoId()
    let key = childOfDataRef.key
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-13
      • 2019-02-08
      相关资源
      最近更新 更多