有没有一种方法可以将最后的更改存储在实时数据库中



我使用的是具有以下数据结构的实时数据库。我可以在Web应用程序中添加更多的机器,这些机器具有自动生成的ID,并且所有机器都具有相同的数据结构。

machines
-autogeneratedID1
-id1 : 1
-id2 : 2
-autogeneratedID2
-id1 : 4
-Id2 : 3

我想跟踪自动生成的id中id的更改,如果自动生成的id1上的id1从1更改为3,我想要一个带时间戳的东西来返回更改。

我正在尝试使用以下代码的云功能:

exports.foo = functions.database.ref("machines/").onUpdate((change) => {
const before = change.before.val();  // DataSnapshot before the change
const after = change.after.val();  // DataSnapshot after the change

console.log(before);
console.log(after);
return null;

但是before和after对象向我返回数据库所有结构的JSON。我的第一个猜测是比较2个JSON对象,检测更改的位置并添加时间戳。然后我想将更改存储在数据库中。

有办法做到这一点吗?

致以最诚挚的问候

终于找到了答案,这是我正在使用的代码:

exports.foo = functions.database.ref("machines/{machineID}/{ValueID}").onUpdate((change,context) => {
const before = change.before.val();  // DataSnapshot before the change
const after = change.after.val();    // DataSnapshot after the change
const machineID = context.params.machineID; //Machine ID
const valueID = context.params.ValueID;     //Value ID

console.log("MachineID: " + machineID + " " +"IDChanged: " + valueID + " " + "BeforeValue: " + before +" "+ "AfterValue: " + after);

return null;
});

相关内容

  • 没有找到相关文章

最新更新