2014-11-25 10 views
0

Я создаю социальную сеть, где пользователи могут отправлять запросы другим пользователям.Синхронизация в реальном времени AngularFire с дополнительными данными

контроллер, который загружается, если пользователь проверяет страницу его сообщения:

$scope.requestedProfileTrips = Requests.getRequests(user.id).then(function (requests) { 
    $scope.requestedProfileTrips = []; 
    for (var i = 0; i < requests.length; i++) { 
     // this function loads additional data depending on the request from firebase 
     // from another database 
     loadProfileTrips(requests[i]); 
    } 
    }); 

Служба, которая получает запросы от firebase:

getRequests: function(userId){ 
     // get requests 
     var sync = $firebase(ref.child("requests").child(userId)); 
     var requestObject = sync.$asArray(); 
     // add requests to object 
     return requestObject; 
    } 

Объект запроса включает в себя идентификатор, а в MESSAGEID и скоро. В функции then контроллера я получаю userId из другой базы данных. Это должно обновляться в реальном времени.

Если я:

$scope.requestedProfileTrips = Requests.getRequests(user.id); 

обновление в режиме реального времени работает! Но я получил только идентификатор пользователя и идентификатор сообщения. Возможно ли получить данные из другой базы данных, в которой хранятся имена пользователей и т. Д. В режиме реального времени? Поэтому каждый раз, когда запрос добавляется из firebase, запускается функция функции getRequests в then?

ответ

1

Firebase хорошо работает в режиме реального времени, но кроме этого, насколько я знаю, нет готовой к использованию базы данных, предлагающей то же самое.

Однако вы можете использовать гибридный подход, например, вручную извлекать данные из базы данных SQL SQL или NoSQL, когда ваш набор данных/событие firebase получает обновления/увольнение. Таким образом, вы можете использовать как синхронизацию в реальном времени firebase, так и вашу традиционную базу данных.

Или если вам требуется интегрировать синхронизацию в реальном времени с традиционными базами данных, то предложите вам посмотреть на сокеты. Предпочтительно sockets.io позволит вам начать работу довольно быстро.

+0

Спасибо за ваш ответ. Ваша вторая точка - именно то, что мне нужно. Мне нужно получать данные из внешней базы данных каждый раз, когда обновляются «запросы» от firebase. Как я могу это сделать в коде? – m1crdy

Смежные вопросы