如何检测firebase数据库中userStatus
的{{1}}儿童的价值是否从false
更改为true
。
以下是我尝试使用的代码,但它不起作用。据我所知,当userStatus
从false
更改为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数据库结构,我只是在 child_changed
从userStatus
更改为{{1}时 }事件
答案 0 :(得分:2)
一种解决方案是使用与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);
});