【问题标题】:Which value changed in Child_changed firebaseChild_changed firebase 中的哪个值发生了变化
【发布时间】:2017-08-16 20:49:59
【问题描述】:

我的函数正在监听 users 的任何值是否发生变化。但我希望它更具体地仅在特定值发生更改时才触发。

例如,我希望它仅在 phone 发生变化时触发(如果除了 phone 之外的任何内容都发生变化,则不要触发)。

当前代码如下:

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);
});

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

【问题讨论】:

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    您可以创建另一个名为 /user-phones 的根节点,并在此处和他们的个人资料中更新相应用户的电话号码,或者您可以使用 Cloud Functions 自动将对 /users/$uid/phone 所做的更改扇出到 /user-phones/$uid/phone

    现在,您无需在/users 上收听child_changed,而是收听/user-phones,这只会在用户更改电话号码时触发。

    【讨论】:

    • 很好的答案卡拉姆!
    猜你喜欢
    • 2017-11-03
    • 1970-01-01
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    相关资源
    最近更新 更多