請問一個找出最大值的語句
-
請找出最大的 menu_id , 目前的寫法必須要查詢兩次, 再比較後才能得出最大值, 如何用一個查詢就找出最大值
ex: 第一層找出 5 , 第二層找出 120 ,
data :
{
"_id" : ObjectId("58b68c3a58576b11a42ff230"),
"menu_id" : NumberInt(1),
"subMenu" : [
{
"menu_id" : NumberInt(100)
},
{
"menu_id" : NumberInt(14)
},
{
"menu_id" : NumberInt(64)
}
]
}
{
"_id" : ObjectId("58b68c7558576b11a42ff232"),
"menu_id" : NumberInt(2)
"subMenu" : [
{
"menu_id" : NumberInt(15)
},
{
"menu_id" : NumberInt(120)
}
]
}
{
"_id" : ObjectId("58b68c9558576b11a42ff234"),
"menu_id" : NumberInt(5) ,
"subMenu" : [
]
}
-
```
db.x.aggregate([
{
'$project':{ a: '$menu_id', b:{'$max':'$subMenu.menu_id'}}
},
{
'$group':{_id:1, sub1_max: {'$max':'$a'}, sub2_max:{'$max':'$b'}}
}`
])```
-
不錯, 值得收藏
-
蠻特別的需求,先收藏~