MST

星途 面试题库

面试题:MongoDB聚合框架在实时数据分析中的基础应用

假设我们有一个MongoDB集合,记录了网站用户的访问记录,每条记录包含用户ID、访问时间、访问页面等信息。现在需要实时统计每小时内不同页面的访问次数,请使用MongoDB聚合框架编写相应的聚合管道。
17.6万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试
[
    {
        $project: {
            userId: 1,
            accessTime: {
                $dateToString: {
                    format: "%Y-%m-%dT%H:00:00Z",
                    date: "$accessTime"
                }
            },
            accessedPage: 1
        }
    },
    {
        $group: {
            _id: {
                accessTime: "$accessTime",
                accessedPage: "$accessedPage"
            },
            count: {
                $sum: 1
            }
        }
    },
    {
        $project: {
            _id: 0,
            accessTime: "$_id.accessTime",
            accessedPage: "$_id.accessedPage",
            count: 1
        }
    }
]