javascript - 如何在 firebase 中获取对象的先前值(值)?

标签 javascript firebase firebase-realtime-database

示例代码如下:

Firebase Database
   name: Sonich

when changed value
   name: Sonita


FirebaseRef.on('value', function(snapshot) {
  var previous_name= ?;//Sonich
  var new_name = snapshot.val(); //Sonita
});

最佳答案

我猜你想在节点更改时检索节点以前的值。

Firebase 没有为此提供解决方案,您应该将之前的值存储在某处。

我的解决方案是将先前的值存储在节点的子节点上。你可以这样做:

1) 当您想要更新值时:

var new_name = "Sonich"
FireBaseRef.once('value', function(snapshot) {
  var prev_name= snapshot.val(); // Sonta
  FireBaseRef.set({
    "value": new_name,
    "prev_value": prev_name
  })
});

2) 这样您就可以检索该值,如下所示:

FireBaseRef.on('value', function(snapshot) {
  snapshot = snapshot.val()
  var previous_name= snapshot.prev_value;//Sonich
  var new_name = snapshot.value; //Sonita
});

关于javascript - 如何在 firebase 中获取对象的先前值(值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38325022/

相关文章:

javascript - jQuery 循环遍历 PHP 数组的对象

android - 如何从 FIREBASE 将数据检索到回收站 View

java - 从 Firebase 存储中获取随机图像

node.js - 在不知道 firebase 和 firebase-admin 中的 key 的情况下如何获得快照的子级

firebase - 如何有效地查找一组节点是否包含 Firebase 中另一组节点的元素?

javascript - 如果值为空则隐藏 div (javascript)

javascript - 将 JS 原型(prototype)设计和 OOP 与实例变量混淆

javascript - localStorage 已保存,但网页重新加载后无法在浏览器上保留数据

swift - 获取检索到的节点的值并在全局范围内使用它们! (火力基地和 swift )

ios - 当我更新子值时在 firebase 中添加新子项 - ios