我使用的是具有以下数据结构的实时数据库。我可以在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;
});