【问题标题】:Count every distinct values from mongodb then render to amcharts从 mongodb 计算每个不同的值,然后渲染到 amcharts
【发布时间】:2018-12-21 14:58:35
【问题描述】:

我正在尝试从我的 mongodb 中获取每个不同值的计数,到目前为止,我可以获取不同值并对其进行计数。

我该怎么做:

City       Count
Pasig       22
Manila      12
Pasay       11

示例文档:

_id:5c1ca770385b472018874073
blood_product_donated:"Whole Blood"
branch:"Pasay"
deferral_type:"none"
deferral_date:"none"

到目前为止,这是我所做的:

api.js

router.get('/blooddonationpie', function(req, res) {
      Blooddonation.distinct('branch',function(err, branch) {      
      res.json({ success: true, branch: branch });
      console.log(branch);
   });   
});

控制器

angular.module('blooddonationControllers', [])
.controller('blooddonationCtrl', function(Blooddonation,$scope) {
var app = this;
function getChart() {

    Blooddonation.getChart().then(function(data) {
        app.branch = data.data.branch; 
        initChart();      
    });
}
function initChart() {
    var data_series = [];

    for(let key in app.branch) {
        data_series.push({
            "donor": app.branch[key],
            "count": 501.9
        });
    }

    var chart = AmCharts.makeChart( "chartdiv", {
        "type": "pie",
        "theme": "none",
        "dataProvider": data_series,
        "valueField": "count",
        "titleField": "donor",
        "balloon":{
            "fixedPosition":true
        },
        "export": {
            "enabled": true
        }
    });
}

这是错误的输出:

如何获取每个不同值的计数?示例 Pasig:21,Pasay:22 等

【问题讨论】:

  • 请发布示例文档和预期输出?
  • 请再次检查我的问题

标签: angularjs mongodb mean-stack amcharts


【解决方案1】:

你需要$group聚合来获取每个分支的计数

db.col.aggregate([{$group: {_id : "$branch" , count :{$sum:1}}}])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    相关资源
    最近更新 更多