如何从mongodb

时间:2018-12-21 07:17:05

标签: angularjs node.js mongodb mean-stack

如何在angularJS中使用find select unique,然后对其进行计数,我是平均值堆栈的新手,而且我不知道如何使用distinct方法。

这是我的带有示例数据的表结构:

donation_no:"3124"
donors_name:"Jeremy Adrian De Vera"
date:"12/26/2018"
time:"8:30"
blood_group:"B"
volume:"2"
branch:"Pasig"

我已经使用php这样尝试过了,但是我该怎么做呢?

$query = "SELECT DISTINCT fruits, COUNT(*) as counter FROM my_table WHERE date_tested BETWEEN '$date_from' AND '$date_to' GROUP BY fruits";

这是我的代码,用于从数据库中查找值

api.js

router.get('/blooddonationmanagement', function(req, res) {

    Blooddonation.find({},function(err, blooddonations) {
        res.json({ success: true, blooddonations: blooddonations });
    });   
});

blooddonationCtrl.js

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

        Blooddonation.getUsers().then(function(data) {    
            app.blooddonations = data.data.blooddonations;  
    });
}

chapters.html

<tr ng-repeat="person in blooddonationmanagement.blooddonations">
    <td>{{ person.branch}}</td>   
</tr>

我如何才能计算出不同的值,然后从我的数据库中进行计数,我希望这样:

branch       count
Pasig         29
Manila        16
Pasay         19

2 个答案:

答案 0 :(得分:1)

您应该尝试distinct()

Blooddonation.distinct('branch',... );

答案 1 :(得分:0)

只需在此处阅读文档:https://docs.mongodb.com/manual/reference/method/db.collection.distinct/

您可以使用:

db.collection.distinct()