如何在Firebase中的特定位置监听数据更改?

kim*_*imo 12 javascript firebase firebase-realtime-database

我正在使用Firebase作为移动APP的实时数据库我正在开发(JS Web SDK),结构如下图所示,密钥=电子邮件,每个密钥都有移动用户信息,以及移动设备的GPS协调node ="path"内的位置

如何收听所有电子邮件(用户)的"路径"?

在此输入图像描述

the*_*het 19

直接来自Firebase 文档:

value:读取并侦听路径的整个内容的更改.

var ref = firebase.database().ref("users");
firebase.database().ref().on('value', function(snapshot) {
    // Do whatever
});
Run Code Online (Sandbox Code Playgroud)

此函数在启动时将运行一次,对于路径下的数据的每次更改都会再次运行.snapshot将返回所有内容,user/其中包含每次更改要返回的大量数据.你可以相应地改变ref.


Sai*_*deh 5

如果需要,您可以收听特定事件:

// Get a reference to the database service
var database  = firebase.database();
var usersRef  = database.ref('whatever/users');

usersRef.on('child_added', (snapshot) => {
  console.log('user was added !!');
});

usersRef.on('child_removed', (snapshot) => {
  console.log('user was removed !!' );
});


usersRef.on('child_changed', (snapshot) => {
     console.log('user was changed !!' ;
});
Run Code Online (Sandbox Code Playgroud)