【问题标题】:Mongoose access from angular controller来自角度控制器的猫鼬访问
【发布时间】:2017-10-10 15:31:37
【问题描述】:

我尝试在 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

我想在 server.js 中对所有 mongoose 逻辑进行分组,然后当它可以工作时,我会将模型放在模型目录中,但不是现在。

我的服务器获得了 mongoose 连接、架构和模型创建 保存功能和查找功能。 但我为此完全迷失了:

  • 如何在我的 addArtistController 中从 server.js 访问我的保存和查找功能?我不能 require('mongoose') 因为不需要浏览器端。任何例子都行。

【问题讨论】:

    标签: node.js angular mongoose


    【解决方案1】:

    您必须在 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 的新手,但概念保持不变。

    // 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

    【讨论】:

      猜你喜欢
      • 2020-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 1970-01-01
      • 2018-06-27
      • 2017-10-05
      • 2015-03-05
      相关资源
      最近更新 更多