Firebase - 为每行添加值

时间:2015-06-28 19:39:33

标签: json firebase

我们说我有myfirebase.firebaseio.com/的Firebase表,并在accounts我有这些数据:

{
  "uid:12123" : {
    "email" : "charmin@ultra.net",
    "username" : "Charmin"
  },
  "uid:253" : {
    "email" : "dejan@damjanovic.net",
    "username" : "Dejan"
  },
  "uid:353" : {
    "email" : "what@ever.net",
    "username" : "Tester"
  },
  "uid:873" : {
    "email" : "green@hand.net",
    "username" : "Green Guy"
  }
}

如何在每行uid:12123uid:253uid:353等中添加值/键,而无需手动执行?

1 个答案:

答案 0 :(得分:1)

在Firebase中,您可以注册on('child_added'侦听器。这将立即针对每个现有孩子触发,然后针对之后添加的每个孩子触发。有了这些知识,您可以使用以下内容更新每个用户:

var ref = new Firebase('https://myfirebase.firebaseio.com/accounts');
ref.on('child_added', function(snapshot) {
    snapshot.ref().update({ uid: snapshot.key() });
});

请注意,我们在此处重复数据,因为您要查找的值已作为snapshot.key()提供。虽然在NoSQL数据库中复制通常是一个好主意,但为了确保您可以一次性读取所需的数据,这里感觉很浪费。

请注意,Firebase's quickstart涵盖了大多数这些操作,programming guide中肯定涵盖了所有这些操作。在他们两个上花一些时间非常值得你花时间。