为什么嵌套MongoDB模式比平面模式慢?

为什么嵌套MongoDB模式比平面模式慢?,mongodb,nosql,Mongodb,Nosql,最初,我有下一个平面模式: { _id: name: surname: courseID: courseName: } 后来,我在MongoDB中使用了groupaggregate并生成了这个新的嵌套模式: { _id: { _id:, student: { name: surname: }, course: {

最初,我有下一个平面模式:

{
    _id:
    name:
    surname:
    courseID:
    courseName:
}
后来,我在MongoDB中使用了
group
aggregate并生成了这个新的嵌套模式:

{
    _id: {
        _id:,
        student: {
            name:
            surname:
        },
        course: {
            id:
            name:
        }
    }
}
但当我运行一个查询时,它在平面模式上运行,运行时间为
0.7秒
,但在嵌套模式下运行时间为
1.02秒
。 所以问题是,我做错了什么?因为我已经读到嵌套模式的性能应该比扁平模式更好。 我收藏了一百万张唱片

用于生成我使用的嵌套架构:

db.nested.save(
db.flat.aggregate([
{
    $group: {
        _id: {
            student: {
                name: "$studentname",
                surname: "$studentsurname"
            },
            course: {
                id: "$courseid",
                name: "$coursename"
            }
        }
    }
}
], { allowDiskUse: true }).toArray()
)
也许有一些选项可以帮助我改进查询以生成新的嵌套集合