【发布时间】:2021-07-26 12:03:40
【问题描述】:
我在一个名为“Student”的集合中有以下 MongoDB 文档。 本文档包含有关 Student 和修订信息的详细信息。我基本上是想根据一些过滤条件从中得到最大的序列。
{
"student": {
name : "Rahul",
age : 18,
department : "CSE",
section : "B"
},
"sequence": 0,
"student_ref": "AUTCSE024",
"college" : "AUT"
}
{
"student": {
name : "Rahul",
age : 18,
department : "CSE",
section : "A"
},
"sequence": 1,
"student_ref": "AUTCSE024",
"college" : "AUT"
}
{
"student": {
name : "Kumar",
age : 18,
department : "IT",
section : "A"
},
"sequence": 0,
"student_ref": "AUTITE011",
"college" : "AUT"
}
{
"student": {
name : "Kumar",
age : 18,
department : "IT",
section : "C"
},
"sequence": 1,
"student_ref": "AUTITE011",
"college" : "AUT"
}
{
"student": {
name : "Praveen",
age : 18,
department : "IT",
section : "C"
},
"sequence": 0,
"student_ref": "AUTITE016",
"college" : "AUT"
}
{
"student": {
name : "Praveen",
age : 18,
department : "IT",
section : "C"
},
"sequence": 1,
"student_ref": "AUTITE016",
"college" : "AUT"
}
所以从上述文档中,我想要基于 max(sequence) 和“student.department”的输出:“IT”。预期的结果应该是
{
"student": {
name : "Kumar",
age : 18,
department : "IT",
section : "C"
},
"sequence": 1,
"student_ref": "AUTITE011",
"college" : "AUT"
}
{
"student": {
name : "Praveen",
age : 18,
department : "IT",
section : "C"
},
"sequence": 1,
"student_ref": "AUTITE016",
"college" : "AUT"
}
请告诉我如何实现这一目标。
【问题讨论】:
-
“最大”的定义是什么?是否有一些分组条件,然后您想在每个组中获取最大序列?
-
对于给定的“student_ref”值,它可以返回超过 1 个文档。因此,只需要获取一个“序列”具有最大数量或值的文档。
标签: mongodb mongodb-query aggregation-framework