【问题标题】:Add new key value pair to existing Firebase向现有 Firebase 添加新的键值对
【发布时间】:2021-04-17 15:45:11
【问题描述】:

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

fireRef {
}

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

fireRef {
    John : 25,
}

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

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

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

我怎样才能同时保留并维护一组键值对的数据集?

【问题讨论】:

  • 如果您使用 Firbase 的 JavaScript SDK,您可以简单地使用相同的参数调用 update() 方法。

标签: javascript python firebase


【解决方案1】:

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

例如:

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'});

【讨论】:

  • 请注意,在您的第一个示例中,您也可以简单地执行 fireRef.push({ 'name': 'fred', 'age': '32' });
  • @Marein 谢谢你的信息,下次会使用它
【解决方案2】:

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

@learningloop 提供了一个很好的解决方案,因为它完成了将数据添加到您的 firebase 的任务,但是有一个选项可以将新的 k,v (name, age) 对添加到单个 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 [here]的完整文档

【讨论】:

    猜你喜欢
    • 2023-02-22
    • 2020-11-09
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 2021-10-26
    相关资源
    最近更新 更多