最初我有下一个平面模式:
{
_id:
name:
surname:
courseID:
courseName:
}
稍后,我在MongoDB中使用了group
聚合并生成了这个新的嵌套模式:
{
_id: {
_id:,
student: {
name:
surname:
},
course: {
id:
name:
}
}
}
但是,当我运行查询时,它在0.7sec
中的平面模式上运行,但是在嵌套的查询中它需要1.02sec
。
所以问题是,我做错了什么?因为我已经读到嵌套模式的性能应该比扁平化的更好。
我的收藏夹中有100万条记录
为了生成嵌套模式,我使用了:
db.nested.save(
db.flat.aggregate([
{
$group: {
_id: {
student: {
name: "$studentname",
surname: "$studentsurname"
},
course: {
id: "$courseid",
name: "$coursename"
}
}
}
}
], { allowDiskUse: true }).toArray()
)
也许有一些选项可以改善我的查询以生成新的嵌套集合?