向现有 Firebase 添加新的键值对

Add new key value pair to existing Firebase

这可能是一个非常基本的问题,但到目前为止,经过大量谷歌搜索后,我无法在网上找到问题的答案。我有一个 firebase 网络应用程序,其中的数据结构非常简单。最初,它是空的,像这样:

fireRef {
}

我希望能够添加键值对,其中键由用户创建,值只是一些文本。例如,用户会输入他们的名字作为键,并输入他们的年龄作为值。然后我想将该数据发送到服务器并让 firebase 现在看起来像这样:

fireRef {
    John : 25,
}

我可以通过以下方式完成这一加法:

var name = getUserName();
var age = getUserAge();
var node = {};
node[name] = age;
fireRef.set(node);

但是,我希望多人能够做到这一点。当我尝试向服务器添加新人时,旧的 "John : 25" 对变红并消失,只留下新的键值对。

我怎样才能保持两者并维护一堆键值对的数据集?

firebase中的唯一id是在我们push数据时生成的。

例如:

var fireRef = new Firebase('https://<CHANGE_APP_NAME>.firebaseio.com/fireRef');
var newUserRef = fireRef.push();
newUserRef.set({ 'name': 'fred', 'age': '32' });

另一种方式是直接设置子元素:

var fireRef = new Firebase('https://<CHANGE_APP_NAME>.firebaseio.com/fireRef');
fireRef.child(1).set({'name':'user2','age':'34'});
fireRef.child(2).set({'name':'user3','age':'24'});

@user3749797,我对这个确切的问题感到困惑。

@learningloop 提供了一个很好的解决方案,因为它完成了将数据添加到您的 firebase 的任务,但是有一个选项可以将新的 k,v(姓名,年龄)对添加到单个 JSON关联数组而不是推送到关联数组的数组。实际上,@learningloop 看到:

[
    { 
        name: steve, 
        age: 34 
    }, 
    { 
        name: mary, 
        age: 22 
    }
]

也许他的方法更好,但你和我一直在寻找这个:

    { 
        steve: 34, 
        mary: 22 
    }

我已经设法添加到这个 k,v 对列表中

    var fireRef = new Firebase('https://<CHANGE_APP_NAME>.firebaseio.com/fireRef');
    fireRef.update({ 'jobe': '33'});

屈服

    { 
        steve: 34, 
        mary: 22, 
        jobe: 33 
    }

在我的 firebase 中。

关于保存到 Firebase 的完整文档[here]