在mongoose中找到group by的所有数据

时间:2016-02-25 06:14:05

标签: mongoose

如何在mongoose中执行此查询 我找到了一些例子,但我找不到这个

的解决方案
Bitmap bg

我试过这个

select * from table group by name

但它只显示名称而不是所有数据

2 个答案:

答案 0 :(得分:0)

鉴于数据

> db.tt.find({})
{ "_id" : ObjectId("56a96dc8081f2fc07ecd7ffb"), "name" : "test", "numbers" : [ 7
6.3922, 42.9196154, ObjectId("56aea43cb6be380000616b07"), 789.11 ] }
{ "_id" : ObjectId("56a96dee081f2fc07ecd7ffc"), "name" : "test", "numbers" : [ 8
7.938547, 42.9196154 ] }
{ "_id" : ObjectId("56a96e00081f2fc07ecd7ffd"), "name" : "test", "numbers" : [ 4
2.9196154, 87.938547 ] }

$group包含<fieldName>: '$fieldName'类型的其他字段,如下所示。

> db.tt.aggregate([{$group: {_id: {name: '$name', numbers: '$numbers'}}}])

结果

{ "_id" : { "name" : "test", "numbers" : [ 76.3922, 42.9196154, ObjectId("56aea4
3cb6be380000616b07"), 789.11 ] } }
{ "_id" : { "name" : "test", "numbers" : [ 87.938547, 42.9196154 ] } }
{ "_id" : { "name" : "test", "numbers" : [ 42.9196154, 87.938547 ] } }

答案 1 :(得分:0)

你可以使用这样的东西吗

table.aggregate([
        {
            $group: {
                _id: '$name',  //$region is the column name in collection
                count: {$sum: 1}
            }
        }
    ], function (err, result) {
        if (err) {
            next(err);
        } else {
            res.json(result);
        }
    });