2014-11-25 6 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]); 
    } 
    }); 

중포 기지에서 요청을 얻을 서비스 :

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

이 요청 객체가 사용자 ID하는 messageId가 포함되어 있으며 곧. 컨트롤러의 then 함수에서 나는 다른 데이터베이스에서 userId를 얻습니다. 이것은 실시간으로 업데이트되어야합니다.

내가 할 경우 실시간으로 작품에

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

업데이트! 하지만 난 단지 사용자 ID와 메시지 ID를 가지고있다. 사용자 이름 등을 실시간으로 저장하는 다른 데이터베이스에서 데이터를 가져올 수 있습니까? 따라서 요청이 firebase에서 추가 될 때마다 then 함수의 getRequests 함수가 트리거됩니까?

답변

1

Firebase는 실시간 동기화가 좋지만 다른 곳에서는 알 수 없지만 동일한 기능을 제공하는 데이터베이스를 사용할 준비가되어 있지 않습니다.

그러나 firebase 데이터 집합/이벤트가 업데이트/실행될 때 전통 SQL 또는 NoSQL 데이터베이스에서 수동으로 데이터를 가져 오는 것과 같은 하이브리드 방식을 사용할 수 있습니다. 이렇게하면 firebase의 실시간 동기화와 기존 데이터베이스를 모두 사용할 수 있습니다.

또는 기존의 데이터베이스와 실시간 동기화를 통합해야하는 경우 소켓을 살펴볼 것을 제안합니다. sockets.io를 사용하면 꽤 빨리 시작할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 두 번째 요점은 내가 필요한 것입니다. firebase에서 "요청"이 업데이트 될 때마다 외부 데이터베이스에서 데이터를 가져와야합니다. 어떻게하면 코드에서 그렇게 할 수 있을까요? – m1crdy

관련 문제