Mongodb伯爵和哪里

时间:2016-08-12 11:36:09

标签: mongodb count group-by mongodb-query aggregation-framework

我想计算特定用户查看某些记录的次数。对它的查询是什么?

我有记录用户活动的集合。每次用户查看某个内容时,该集合中都会创建一行。所以我想计算用户做某事的次数

我正在尝试这个但不能正常工作

db.activities.aggregate(
    {$group: { 
        _id: "$assetName", 
        count: { $sum: 1}
        }},
        {$match: {
            "userId": "1"
        }}
);

示例

User A viewed Company ABC
User A viewed Company XYZ

再次

User A viewed Company ABC
User B viewed company TEST

预期结果

1. Company A viewed 2 times by user 1
2. Company B viewed 5 times by user 1

1 个答案:

答案 0 :(得分:0)

试试这个

db.activities.aggregate({$group: {_id: {comp: "$assetName",
                                       rec_id: "$recordId",
                                       user: "$userId"}, 
                                 count: {$sum: 1}}})