Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 角度控制器的Mongoose访问_Node.js_Angular_Mongoose - Fatal编程技术网

Node.js 角度控制器的Mongoose访问

Node.js 角度控制器的Mongoose访问,node.js,angular,mongoose,Node.js,Angular,Mongoose,我尝试在node/angular中做一个简单的服务器/客户机,将mongoose连接到MongoDB数据库 我的结构: app/ app.js (mongoose connect / schema /models ) bower.json components/ app.module.js app.routes.js artistes/ addArtist.html addArtistController.

我尝试在node/angular中做一个简单的服务器/客户机,将mongoose连接到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
我想将所有mongoose逻辑分组到server.js中,然后当它工作时,我将把模型放在模型目录中,但不是现在

我的服务器获得了mongoose连接、模式和模型创建 一个保存函数和一个查找函数。 但我对此完全迷失了方向:

  • 在我的addArtistController中,如何从server.js访问我的保存和查找功能?我不能要求('mongoose'),因为require不是为浏览器端设计的。任何例子都可以
您必须向服务器发出请求,例如借助Angularjs
$http

我真的不知道如何从服务器端做到这一点,因为您不共享server.js,但假设您的
find
函数已经有了一个端点,该端点将返回您的MongoDB数据(我建议使用express Router),在前端(控制器、服务等),您可以尝试以下操作:

// 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)
      });
  }])

我还不熟悉Angular的最新版本,但概念仍然是一样的

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