0

我有这些收藏品、统计数据和物品。Stats 有一项作为子文档:

var ItemSchema = new Schema({ 
    type: String,
    created_at: Date,
    updated_at: {
        type: Date,
        default: Date.now()
    }
});

var StatsSchema = new Schema({ 
    item: {
        type: Schema.ObjectId,
        ref: 'Item'
    },
    url: String,
    date: Date,
    action: String,
    hourly: Number
});

我想按 item.type 聚合 Stats 分组。可能吗?

我尝试了这样的事情,但没有运气:

db.stats.aggregate(
    { $project: { _id: 1, hourly: 1, action: 1, item: 1, type: '$item.type' } }, 
    { $group: { _id: { action: '$action', type: '$item.type' }, total: { $sum: '$hourly' } } }
)
4

1 回答 1

0

您不应该需要$project管道的一部分。$group你应该从舞台上得到你需要的东西

db.stats.aggregate({ $group: { _id: "$item.type" , total: { $sum: '$hourly' } } });
于 2015-02-02T22:11:07.500 回答