javascript - 检测 child 的值从 false 变为 true

标签 javascript firebase firebase-realtime-database

如何检测 firebase 中子项的值,即 userStatus 是否从 false 更改为 true数据库。

下面是我尝试使用的代码,但它不起作用。据我了解,当 userStatusfalse 更改为 true 时,下面的表达式不再为 true,因此不会被触发.

有人可以建议我如何实现这一目标吗?

usersRef.orderByChild("userStatus").equalTo(false).on("child_changed", function(snapshot) {
  var userDetails   =   snapshot.val();
  var firstname     =   userDetails.firstName;
  console.log("userDetails, firstname: "+firstname);
});

[编辑]

下面是我的 Firebase 数据库结构,我尝试仅当userStatusfalse 更改时触发 child_changed 事件true

<code>Firebase db structure</code>

最佳答案

一种解决方案是使用一个查询来匹配 userStatusfalse 的用户,然后监听 child_removed 事件。当用户发生更改并且不再与该查询匹配时,您将收到通知。也就是说,当 userStatusfalse 更改为 true 时,您将会收到通知。

usersRef.orderByChild("userStatus")
  .equalTo(false)
  .on("child_removed", function (snapshot) {
    var userDetails = snapshot.val();
    var firstname   = userDetails.firstName;
    console.log("userDetails (status changed to true), firstname: " + firstname);
  });

关于javascript - 检测 child 的值从 false 变为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39421602/

相关文章:

android - 在 firebase 应用程序中添加 sha1 失败并出现错误

javascript - 如何在 PHP 网络应用程序上安全地使用 Firebase Auth

javascript - Node.JS - 在执行其余代码之前等待函数完成

javascript - 仅指定 tenantid 而不是 https ://login. microsoftonline.com/{tenantid} 到 UserAgentApplication

node.js - 声明自定义异常以与 Firestore 可调用函数和 VueJS 一起使用

android - 为什么不是所有来自 FirebaseDatabase 引用的数据都添加到 ArrayList<String> 中?

javascript - 更改 reactjs 组件状态中字段的值(使用从 firebase 获取的数据)

firebase-realtime-database - 使用 flutter 和 firebase auth 将用户保留在设备上

javascript - 测试无法识别相同的元素

javascript - 数学序列创建绑定(bind)循环