仅获取firebase中的更改节点值
我正在使用仅获取firebase中的更改节点值,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,我正在使用ref.on()函数监视firebase节点的变化, 但是有一个问题,ref.on()给出了整个数据库记录。 如何仅获取状态已更改的行/节点 function watch() { riderequests.once('value', function(snapshot) { alert("change"); var newrequest = snapshot.val(); } } 要仅获取已更改的特定行/节点,则需
ref.on()
函数监视firebase节点的变化,
但是有一个问题,ref.on()
给出了整个数据库记录。
如何仅获取状态已更改的行/节点
function watch()
{
riderequests.once('value', function(snapshot)
{
alert("change");
var newrequest = snapshot.val();
}
}
要仅获取已更改的特定行/节点,则需要在
ref()
中引用这些节点,例如:
users
userid
name:peter
userid
name: john
然后,要仅获取更改的节点,可以执行以下操作:
ref().child("user").child(userid); //this will only give you the change in the logged in userid node
此外,您还可以使用如下查询:
orderByChild("userid").equalTo(username);
这将只为您提供该特定节点
开启
侦听特定位置的数据更改
您还可以通过在检索时执行以下操作来访问特定的节点更改:
var newrequest = snapshot.val().name;
假设
name
是firebase数据库中的一个节点。要仅获取已更改的特定行/节点,则在ref()
中,您需要引用这些节点,例如:
users
userid
name:peter
userid
name: john
然后,要仅获取更改的节点,可以执行以下操作:
ref().child("user").child(userid); //this will only give you the change in the logged in userid node
此外,您还可以使用如下查询:
orderByChild("userid").equalTo(username);
这将只为您提供该特定节点
开启
侦听特定位置的数据更改
您还可以通过在检索时执行以下操作来访问特定的节点更改:
var newrequest = snapshot.val().name;
假设
name
是firebase数据库中的一个节点。firebase提供事件child\u added
,child\u changed
,child\u removed
,用于处理从firebase添加、修改和删除子节点的不同事件。读这个
根据Firebase文档:-
在任何时候启动子节点时都会触发子节点更改事件
被改进的。这包括对子代后代的任何修改
节点。它通常与添加的child_和
删除子项以响应对项目列表的更改。快照
传递给事件回调的包含子级的更新数据
要获取更改节点的详细信息,请使用child\u changed
事件。基本上,只要子节点发生更改,就会触发此事件。它将生成已更改节点的快照
riderequests.on('child_changed', function(snapshot){
var newrequest = snapshot.val();
console.log(newrequest);
});
Firebase提供事件
child\u added
,child\u changed
,child\u removed
,用于处理从Firebase添加、修改和删除子节点的不同事件。读这个
根据Firebase文档:-
在任何时候启动子节点时都会触发子节点更改事件
被改进的。这包括对子代后代的任何修改
节点。它通常与添加的child_和
删除子项以响应对项目列表的更改。快照
传递给事件回调的包含子级的更新数据
要获取更改节点的详细信息,请使用child\u changed
事件。基本上,只要子节点发生更改,就会触发此事件。它将生成已更改节点的快照
riderequests.on('child_changed', function(snapshot){
var newrequest = snapshot.val();
console.log(newrequest);
});
答案对你有帮助吗?答案对你有帮助吗?