2017-05-11 2 views
0

노드/각도에서 간단한 서버/클라이언트를 MongoDB 데이터베이스에 몽구스로 연결하려고합니다.각도 컨트롤러에서 몽구스 액세스

내 구조 : 지금

app/ 
    app.js (mongoose connect/schema /models) 
    bower.json 
    components/ 
     app.module.js 
     app.routes.js 
     artistes/ 
     addArtist.html 
     addArtistController.js 
     home/ (html controller service) 
    shared/ (header & footer html) 
    assets/ (css/js/img/fonts) 
    bower_components/ 
    index.html (main index) 
data/ (mongo db) 
mongod*  (script to launch mongodo) 
package.json (npm start) 
routes/ 
bin/ 
models/ (empty) 
node_modules/  
server.js 

그것이 내가 모델 디렉토리에서 모델을 놓을 게요 작동합니다 다음 때이 그룹에 server.js의 모든 몽구스 로직을 원하지만.

내 서버에 연결, 스키마 및 모델 생성 저장 기능과 찾기 기능이 있습니다. 는하지만 난이 완전히 이것에 대한 손실 M :

  • 어떻게 내 addArtistController에 내가 server.js에서 내 저장 및 검색 기능을 액세스 할 수 있습니까? 나는 ('몽구스')를 요구할 수 없다. 왜냐하면 브라우저 측에 요구가 없기 때문이다. 모든 예제가 작동합니다.

답변

2

당신은 AngularJS와 $http의 예를 들어 도움으로 서버에 요청을해야한다.

server.js를 공유하지 않으므로 서버 측에서이 작업을 수행하는 방법을 실제로 알 수는 없지만 이미 MongoDB 데이터를 반환하는 find 함수에 대한 끝점이 있다고 가정합니다 (Express를 사용하는 것이 좋습니다). 그에 대한 라우터), 프론트 엔드 (컨트롤러, 서비스 등)에서이 같은 시도 할 수 있습니다 :

// Angular v1 
angular.module('addArtistController') 
    .controller('AddArtist', ['$scope', '$http', function ($scope, $http) { 
     $http.get("/find").then(function (data) { 
      $scope.data = data; // data is now available in the scope 
     }, function (err) { 
      console.log(err) 
     }); 
    }]) 

https://docs.angularjs.org/api/ng/service/$http

난 여전히 새로운 해요 각도의 최신 버전을하지만 개념은 동일하게 유지 .

// Angular v4 
return new Promise(resolve => { 
    this.http.get('/find') 
    .map(res => res.json()) 
    .subscribe(data => { 
     this.data = data; 
     resolve(this.data); 
    }); 
}); 

https://angular.io/docs/ts/latest/api/http/index/Http-class.html

관련 문제