我正在使用具有以下数据结构的实时数据库。我可以在webapp中添加更多具有自动生成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;
但是之前和之后的对象向我返回了数据库所有结构的JSON。 我的第一个猜测是比较两个JSON对象并检测更改的位置并添加时间戳。然后我要将更改存储在数据库中。
有没有办法做到这一点?
最好的问候
答案 0 :(得分:1)
终于找到了答案,这是我正在使用的代码:
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;
});