swift firebase如何在数据库顶部设置/添加数据

问题描述:

我正在构建一个合并Firebase并且需要能够在我的数据库顶部添加/和设置数据的应用程序。目前,每当我添加数据时,它都会将其随机放置在父节点下。我已经看到了一些Objective C答案,但他们没有真正意义上的。很抱歉缺少代码,但我不知道该从哪里开始解决此问题。任何帮助将是伟大的!swift firebase如何在数据库顶部设置/添加数据

+0

是的,在父节点的顶部它是在 –

当你说它被随机放置在父项下时,我认为这是调用的childByAutoId()方法。虽然节点的名称是随机出现的(例如-K6tdghsbci7g8),但它实际上会确保数据按顺序添加到给定的父节点下。这对于向列表添加新数据非常有用。例如:

let pointlessData:String = "some data" 
ref.childByAutoId().setValue(pointlessData) 
// creates a new ordered child node under the `ref` with "some data" as the value 

是不是真的有一种方式来订购的节点后到前以这种方式,虽然可以产生负面时间戳通过加入负时间戳然后添加每个节点的顺序ORDER使用您的结果ref.queryOrderedByChild("negativeTimestamp")这样你得到的值是最新的。

let path = FirebaseBaseUrl + "dialogs/" + self.receiverId + "/" + self.senderId 

    let chilRef = FIRDatabase.database().referenceFromURL(path) 
    let refChild = chilRef.childByAutoId() 
    let dic = NSMutableDictionary() 
    dic .setValue(text, forKey: "text") 
    dic .setValue(FIRServerValue.timestamp(), forKey: "timestamp") 
    dic .setValue(true, forKey: "your") 

    refChild.updateChildValues(dic as [NSObject : AnyObject]) { (error, ref) in 
     if(error != nil){ 
      print("Error",error) 
     }else{ 
      print("\n\n\n\n\nAdded successfully...") 
     } 
    }