2017-05-11 17 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から私の保存と検索する機能にアクセスするにはどうすればよいですか?私は( 'mongoose')を要求することはできません。ブラウザ側では必要がないからです。どんな例でも動作します。

答えて

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

関連する問題