如何检测 firebase 中子项的值,即 userStatus
是否从 false
更改为 true
数据库。
下面是我尝试使用的代码,但它不起作用。据我了解,当 userStatus
从 false
更改为 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 数据库结构,我尝试仅当userStatus
从 false 更改时触发
到 child_changed
事件true
。
最佳答案
一种解决方案是使用一个查询来匹配 userStatus
为 false
的用户,然后监听 child_removed
事件。当用户发生更改并且不再与该查询匹配时,您将收到通知。也就是说,当 userStatus
从 false
更改为 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/