我正在使用Firebase作为移动APP的实时数据库我正在开发(JS Web SDK),结构如下图所示,密钥=电子邮件,每个密钥都有移动用户信息,以及GPS协调node =“path”内的移动位置
如何收听所有电子邮件(用户)的所有“路径”?
答案 0 :(得分:18)
直接离开Firebase documents:
value:读取并侦听路径的整个内容的更改。
var ref = firebase.database().ref("users");
firebase.database().ref().on('value', function(snapshot) {
// Do whatever
});
此功能在启动时将运行一次,对路径下的数据进行每次更改都会再次运行。 snapshot
将返回user/
的所有内容,这是每次更改都要返回的大量数据。您可以相应地更改ref
。
答案 1 :(得分:1)
代码中的解决方案:
var ref = new Firebase("https://<your Firebase>/mobile/users");
users.forEach(function (childSnapshot) {
// childSnapshot == mobile/users/email
var data = childSnapshot.val();
childSnapshot.forEach(function (path) {
if (path.key() == 'path') {
//create reference for each path
var pathRef = path.ref();
pathRef.limitToLast(1).on('child_added', function (childSnapshot, prevChildKey) {
// now you are listening on all "path" under each user/email
})
}
})
})
答案 2 :(得分:0)
您可以根据需要收听特定事件:
App Transport Security Settings -> Allow Arbitrary Loads (Yes)