一尘不染

Firebase:从实时数据库中检索childByAutoID

swift

我目前正在学习Firebase和iOS的知识,因此请耐心等待。我当前正在发布到我的表Posts,如下所示:

 let postInfo = ["Description": txtPostDescription.text!, "ImageUrl": imgUrl, "Likes": 0]

 var t = FIRDatabase.database().reference().child("Posts").childByAutoId().setValue(postInfo)

 print(t)

我正在尝试检索primary key插入新记录时创建的内容,但是无法检索它。我已经尝试过childByAutoId()
但是由于浏览网页而无法找到一个可靠的解决方案,所以这是一个随机的猜测 )。有任何想法吗?


阅读 246

收藏
2020-07-07

共1个答案

一尘不染

let postInfo = ["Description": txtPostDescription.text!, "ImageUrl": imgUrl, "Likes": 0]

var reference  = FIRDatabase.database().reference().child("Posts").childByAutoId()

reference.setValue(postInfo)
let childautoID = reference.key 
print(childautoID)

注意 :-Althogh
childByAutoId()是自以来的一项强大功能,Firebase但是timestamps当您想创建具有唯一键的节点时更喜欢将数据存储到其中。我之所以喜欢时间戳记是因为它们也可以对数据进行排序…但是这就是我..

替代方案:-

let timeStamp = Int(NSDate.timeIntervalSinceReferenceDate()*1000) //Will give you a unique id every second or even millisecond if you want.. 
FIRDatabase.database().reference().child("Posts").child(timeStamp).setValue(postInfo)
2020-07-07