如何在我的角度控制器上获取mongodb数据来绘制图表

时间:2016-03-09 08:03:39

标签: angularjs mongodb meteor angular-meteor

我是meteor / mongodb的新手,我正在使用流星角构建应用程序。

一切都运行正常,我的服务器上的我的集合订阅了客户端,以便客户端minimongo被提交了正确的数据,可以在我的视图中使用角度帮助器访问和迭代的数据,例如docs

 angular.module('socially', ['angular-meteor']);

  angular.module('socially').controller('PartiesListCtrl', function ($scope) {
    $scope.helpers({
      parties: () => {
        return Parties.find({});
      }
    });
  });
}

我的问题是,如何在角度控制器中使用客户端minimongo数据?

我已尝试获取和控制台日志记录,但只能获取未定义/空数组/ mongo db游标对象,而我正在寻找的更多是来自查询的JSON数据,以便我可以执行某些操作它在我的角度控制器中。

我可以实现一个简单的服务器端API,它只发送所需的数据,这肯定会有效,但似乎有两次相同的数据,因为客户端已经订阅了那些在我的视图中完全可用的数据。

知道如何做这样的事吗?

编辑:

我的数据已经绑定到我的角度视图了,我在服务器上有一个带有发布方法的集合,客户端上有一个集合,数据是从服务器订阅的,所以我可以使用帮助器在我的视图中访问它(上一个例子中的各方)。这个问题是因为数据与视图/客户端同步通过迷你mongo我无法在使用我的控制器之前真正访问它。

控制台日志($ scope.parties给出undefined / mongo游标)

我正在尝试从客户端控制器上的订阅集合中获取数据,以便我可以使用chartjs / highcharts从此数据中绘制图表。我已经尝试在准备好文档后访问数据,但没有成功:(

我说的最后一种方法是从我的客户端控制器调用服务器上的api并使用那里的数据。但感觉会有更好的方法,因为数据已经从视图中可以访问。

chartjs代码如下:

angular.module("app", ["chart.js"]).controller("LineCtrl", function ($scope) {

  $scope.labels = ["January", "February", "March", "April", "May", "June", "July"];
  $scope.series = ['Series A', 'Series B'];
  $scope.data = [
    [65, 59, 80, 81, 56, 55, 40],
    [28, 48, 40, 19, 86, 27, 90]
  ];
  $scope.onClick = function (points, evt) {
    console.log(points, evt);
  };
});

所以我需要从订阅中获取数据作为$ scope.data以将其反应绑定到我的图表。 (即使使用highcharts + blaze似乎更容易,这与highcharts的问题相同)。

我能找到的最接近的问题是this,但是由于没有人回答我认为我会尝试稍低的水平..

0 个答案:

没有答案