2017-05-30 94 views
1

我正在構建一個合併Firebase並且需要能夠在我的數據庫頂部添加/和設置數據的應用程序。目前,每當我添加數據時,它都會將其隨機放置在父節點下。我已經看到了一些Objective C答案,但他們沒有真正意義上的。很抱歉缺少代碼,但我不知道該從哪裏開始解決此問題。任何幫助將是偉大的!swift firebase如何在數據庫頂部設置/添加數據

+0

是的,在父節點的頂部它是在 –

回答

2

當你說它被隨機放置在父項下時,我認爲這是調用的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")這樣你得到的值是最新的。

0
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...") 
     } 
    } 
相關問題