【问题标题】:create a random key at just one level仅在一个级别创建一个随机密钥
【发布时间】:2017-10-14 19:10:53
【问题描述】:

在 Firebase 中,可以使用 .childByAutoId() 创建随机密钥

let newEntry = FBRef.child("category").childByAutoId()
newEntry.setValue(["someValue": true])

这会产生一个像这样的 json 结构:

{
  "category" : {
    "random-key-generated-by-Firebase" : {
      "someValue" : true
    }
  }
}

我想知道是否有可能跳过最后一个级别并到达这样的结构?

{
  "category" : {
    "random-key-generated-by-Firebase" : true
  }
}

【问题讨论】:

  • 我对 firebase 不太了解,但试试这个newEntry.setValue(true)
  • .setValue 应该是一个简单的值,而不是一个数组。以下 FBRef.child("category").childByAutoId().setValue(true) 将创建您提到的结构
  • @EdmundElmer 您提到的“数组”实际上是字典的 Swift 语法,它是 setValue() 的有效参数。但你是对的,setValue(true) 将导致 Shane 请求的结构。
  • @FrankvanPuffelen:对不起,当然,这是一本字典。我使用(不正确)“数组”作为包含多个值的变量的同义词。

标签: json swift firebase


【解决方案1】:

为了快速,首先创建一个键引用

let key = ref.childByAutoId().key

然后创建一个childUpdate容器

let childUpdates = ["/category/\(key)": true]

终于更新了

ref.updateChildValues(childUpdates)

【讨论】:

    猜你喜欢
    • 2013-01-06
    • 2015-04-02
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    相关资源
    最近更新 更多