MST

星途 面试题库

面试题:MongoDB分组阶段中_id字段的基础设计考量

在MongoDB的分组阶段,_id字段用于标识分组的依据。请阐述在简单场景下,如何设计_id字段来按类别对文档进行分组,例如有一个存储产品信息的集合,包含产品类别、价格等字段,需要按产品类别分组统计平均价格,此时_id字段应如何设计?
45.0万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试

在这种简单场景下,_id字段应设计为产品类别字段。示例代码如下:

db.products.aggregate([
    {
        $group: {
            _id: "$category", // 假设产品类别字段名为category
            averagePrice: { $avg: "$price" }
        }
    }
]);

上述代码中,通过将_id设置为"$category",即按产品类别字段进行分组,然后使用$avg操作符计算每个分组(每个产品类别)的平均价格。这样就能实现按产品类别分组统计平均价格。