Child_changed firebase中更改了哪个值

时间:2017-08-16 11:49:41

标签: javascript firebase firebase-realtime-database

如果用户的任何值发生变化,我的功能就是收听。但我希望它更具体,只有在特定值发生变化时才会触发。

例如,如果只更改手机,我希望触发此功能(如果手机除外,请不要触发)。

目前的代码如下:

var usersref = firebase.database().ref('users');
usersref.on("child_changed", function(snapshot) {
   var userid = snapshot.key;
   var user = snapshot.val();
   console.log("The updated user name is " + user.name);
});

如果用户的电话被更改,则应触发。我该怎么做?

1 个答案:

答案 0 :(得分:3)

您可以创建另一个名为/user-phones的根节点,并在其配置文件中更新相应用户的电话号码,或者您可以使用云功能将对/users/$uid/phone所做的更改分散到{ {1}}自动。

现在,您可以收听/user-phones/$uid/phone,而不是在child_changed上收听/users,只会在用户更改电话号码时触发。{/ p>