2016-07-11 29 views
5

Tôi đang sử dụng Firebase làm DB thời gian thực cho ỨNG DỤNG di động Tôi đang phát triển (JS Web SDK), cấu trúc như bên dưới trong ảnh chụp màn hình, khóa = email, mỗi khóa có thông tin người dùng di động và điều phối GPS vị trí trên điện thoại di động bên trong nút = "đường dẫn"Cách nghe các thay đổi dữ liệu ở nhiều vị trí cụ thể trong Firebase?

Cách nghe trên tất cả "đường dẫn" của tất cả email (người dùng)?

enter image description here

Trả lời

14

Trực tiếp từ các căn cứ hỏa lực documents:

giá trị: Đọc và lắng nghe để thay đổi toàn bộ nội dung của một con đường.

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

Chức năng này sẽ chạy một lần khi nó được bắt đầu và một lần nữa cho mỗi thay đổi các dữ liệu dưới con đường. snapshot sẽ trả lại tất cả nội dung của user/, rất nhiều dữ liệu được trả lại cho mọi thay đổi. Bạn có thể thay đổi ref cho phù hợp.

1

giải pháp trong mã:

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 

         }) 
        } 
       }) 
      }) 
Các vấn đề liên quan