firebase最后一项记录

时间:2018-03-20 18:57:47

标签: javascript firebase firebase-realtime-database

我想只将添加到firebase的最后一条记录附加到表中。我试过了

firebase().database().ref()
  .orderByChild("dateAdded")
  .limitToLast(1)
  .on("child_added", function (snapshot) {
    $('.table').append(
      "<tr><td>" + snapshot.val().train + 
      "</td><td>" + snapshot.val().destination + 
      "</td><td>" + snapshot.val().frequency + 
      "</td></tr>"
    );
  });

我第一次添加新条目时它会起作用,但第二次新条目会被添加两次,第三次 - 三次等等。

有没有办法只添加每个新条目一次?

1 个答案:

答案 0 :(得分:2)

您似乎只需要读取一次数据,而不是每次都在指定的数据库引用中更改数据

所以你应该这样做:

firebase().database().ref()
  .orderByChild("dateAdded")
  .limitToLast(1)
  .once("child_added....

查看文档: https://firebase.google.com/docs/database/web/read-and-write#read_data_once