首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从mongodb获得一个值到angularjs控制器

如何从mongodb获得一个值到angularjs控制器
EN

Stack Overflow用户
提问于 2016-08-03 16:31:22
回答 1查看 2.1K关注 0票数 3

我对Web开发很陌生,一开始我用的是一个普通的堆栈(Mongo,Express,Stack,Node)。

简单地说,,我希望将mongo的值输入到角控制器中,以便在这样的公式中使用mongo的多个值:

代码语言:javascript
复制
value11*value12 + value21*value22 ...etc

更详细地我的问题:

  1. 我已经用一个字段集编写了一些数据到mongo中:

HTML片段

代码语言:javascript
复制
<fieldset>
<rzslider rz-slider-model="value11"
          rz-slider-options="slider11.options"></rzslider>
<md-slider flex md-discrete ng-model="value12" step="1" min="1 max="100 aria-label="rating"></md-slider
</fieldset>

Controller.js片段。The滑块来自于那里,https://github.com/angular-slider/angularjs-slider

角质材料的磁滑块

代码语言:javascript
复制
$scope.slider11 = { 
  options: { 
    showTicks: true,
    hidePointerLabels: true,
    hideLimitLabels: true,
    stepsArray: [
      { value: 1, legend: 'Very poor' }
      { value: 2, legend: 'Poor' },
      { value: 3, legend: 'Fair' },
      { value: 4, legend: 'Good' }, 
      { value: 5, legend: 'Very Good' }
    ] 
  }
};
$scope.value12 = 40;
//Create new Article object
var article = new Articles
  value11: this.value11,
  value12: this.value12,

此时,一切都正常,在mongo中,设置值将被存储。

  1. 在第二步中,我希望将数据库中的值输入到不同的控制器中,以便将它们包含在上述公式中。到目前为止,唯一有效的方法是直接在html视图中回忆这样的值:

HTML片段

代码语言:javascript
复制
{{article.value11 * article.value12}}

它可以工作,据我所理解,这要感谢下面这样的查询。

控制器片段

代码语言:javascript
复制
// Find a list of Articles
$scope.find = function () {
$scope.articles = Articles.query();
};

但最终,我想回忆一下数据库值,并将它们定义为控制器中的新$scope。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-03 16:46:59

因此,在整个平均堆栈的背后,以及或多或少整个前端/后端的想法是,您的角度应用程序是前端,您需要对您的Node.js服务进行AJAX调用才能连接到MongoDB。

把它想象成这个Angular <---AJAX---> Node <------> Mongo

因此,您需要的第一件事是构建一个rest服务(使用express框架的帮助),这样的东西才能正常工作。

代码语言:javascript
复制
app.get('/getMongoData', function(req, res, next) {
     //code to get mongo data with Mongoose

     req.json(DataFromMongo); //returns the data in json format
}); 

在这里,您将使用后端代码使用猫鼬包装从Mongo数据库获取数据,然后使用req.json()调用返回数据,该调用是Express的一部分

现在,所有这些都完成了,您可以使用如下的方法调用来自角度控制器的数据

代码语言:javascript
复制
$http.get('/getMongoData').then(function(response) {
      $scope.myMongoData = response.data;       
});

注意:不要忘记将$http添加到控制器的注入app.controller('MyController', ['$scope', '$http', function ($scope, $http) { // code }]);

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38749131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档