Firebase overwriting entries

Viewed 1804

I am new to Firebase and not sure how to best explain this but I will try.

I am trying to have my app create an entry for each user. Then each user entry has multiple (0 through n) sub-entries where each sub-entry is a simple string. Basically there is a user-id (the main entry) and their tasks are the sub-entries.

Now my problem is whenever I push data (the sub-entries) to the main entries, all of the previous sub-entries are deleted and only the most recent one is pushed. I have been looking through the documentation and Googling like crazy but nothing seems to work.

I have tried this:

@IBAction func testWrite(sender: AnyObject) {
    let def = NSUserDefaults.standardUserDefaults()
    let uid = def.valueForKey("uid")
    let root = Firebase(url: getFirebaseURL())

    let text = self.tempText.text!
    let dataRef = root.childByAppendingPath(uid as! String)
    let data = ["test": String(text)]
    dataRef.setValue(data)
}

Which appends to the user-id entry fine, with a key of "test" and a value of the 'text'

So then I kill the app and change it to:

@IBAction func testWrite(sender: AnyObject) {
    let def = NSUserDefaults.standardUserDefaults()
    let uid = def.valueForKey("uid")
    let root = Firebase(url: getFirebaseURL())

    let text = self.tempText.text!
    let dataRef = root.childByAppendingPath(uid as! String)
    let data = ["CHANGED": String(text)]
    dataRef.setValue(data)
}

And it pushes fine, but then the previous entry was just deleted and the only entry left is this one.

What I am trying to do is maybe incrementally (having a numbered key possibly?) add items one by one without having other entries deleted.

I hope this makes sense :P and any help is greatly appreciated!

2 Answers
Related