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

Ios swift firebase如何在数据库顶部设置/添加数据,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,我正在构建一个包含Firebase的应用程序,需要能够在我的数据库顶部添加/和/或设置数据。当前,每当我添加数据时,它都会将其随机放置在父节点下。我已经看到了一些客观C的答案,但它们没有真正意义。很抱歉缺少代码,但我不知道从何处开始处理这个问题。任何帮助都会很好 当您说它被“随机”放置在父对象下时,我认为这就是调用的childByAutoId()方法。虽然节点的名称随机出现(例如,-K6tdghsbci7g8),但它实际上会确保数据按顺序添加到给定父节点下。这对于向列表中添加新数据非常有用。例如

我正在构建一个包含Firebase的应用程序,需要能够在我的数据库顶部添加/和/或设置数据。当前,每当我添加数据时,它都会将其随机放置在父节点下。我已经看到了一些客观C的答案,但它们没有真正意义。很抱歉缺少代码,但我不知道从何处开始处理这个问题。任何帮助都会很好

当您说它被“随机”放置在父对象下时,我认为这就是调用的
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

实际上,没有办法以这种方式对节点进行前后排序,尽管您可以通过向添加的每个节点添加一个负时间戳,然后使用
ref.queryOrderedByChild(“negativeTimestamp”)
对结果进行排序,这样您得到的值首先是最新的值。

Yes,在父节点的顶部,它位于
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...")
        }
    }