2017-10-14 50 views
1

在火力地堡,它可以创建使用.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 
    } 
} 
+1

我没有关于多少想法firebase,但试试这个'newEntry.setValue(true)' –

+1

.setValue应该是一个简单的值,而不是数组。下面的FBRef.child(“category”)。childByAutoId()。setValue(true)将会创建你提到的结构 –

+1

@EdmundElmer你提到的“数组”实际上是一个字典的Swift语法,它是一个有效的参数'setValue ()'。但是,您正确的看法是'setValue(true)'会导致Shane请求的结构。 –

回答

0

对于迅速,首先创建一个关键的参考

let key = ref.childByAutoId().key 

然后创建一个childUpdate容器

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

最后更新

ref.updateChildValues(childUpdates)