猫鼬,获取子文档并分组

时间:2018-09-24 14:41:37

标签: javascript sorting mongoose grouping

我正在尝试获取一些结果并将其按ID分组,但是我不知道这样做的方法,我尝试使用$ unwind和$ lookup,但是当我使用$ group时,它并没有不会给我结果,因此,我将不胜感激。

用户校准模型

{
 calification: Number,
 status: Number,
 place: {
   type: Schema.ObjectId,
   ref: 'Place',
 }    
}

地点模型

{
 name: String,
 description: String
}

我试图做这样的事情:

mongoose.model('usercalification').aggregate([
    {
        $lookup: {
            from: 'places',
            localField: 'place',
            foreignField: '_id',
            as: 'places'
        }
    },
    {
        {
            $unwind: '$places'
        }
    }
]);

它像它应该的那样工作,问题是当我尝试$ groupBy

mongoose.model('usercalification').aggregate([
    {
        $lookup: {
            from: 'places',
            localField: 'place',
            foreignField: '_id',
            as: 'places'
        }
    },
    {
        {
            $unwind: '$places'
        }
    },
    {
        $group: {
            _id: '$place',
            calification: { $avg: '$calification' },
            count: {$sum: 1}
        }
    }
]);

我正在按$ place cuz分组,这是我需要分组的位置ID。

我将不胜感激。

1 个答案:

答案 0 :(得分:0)

问题在于这些零件的订购方式不正确。