Mongodb 从Mongo DB aggregate中对象的未命名嵌套数组中获取最大值的键
我有一份像这样的文件Mongodb 从Mongo DB aggregate中对象的未命名嵌套数组中获取最大值的键,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我有一份像这样的文件 { 城市:“曼哈顿”, 国家:“纽约”, eth:[ {02: 40}, {15:50}, {04:10} ] }您只需使用$max即可获得最大值 db.collection.aggregate([ { "$project": { "max": { "$objectToArray": { "$max": "$eth" } } }}, { "$project": { "eth": { "
{
城市:“曼哈顿”,
国家:“纽约”,
eth:[
{02: 40},
{15:50},
{04:10}
]
}
您只需使用$max
即可获得最大值
db.collection.aggregate([
{ "$project": {
"max": {
"$objectToArray": {
"$max": "$eth"
}
}
}},
{ "$project": {
"eth": {
"$arrayElemAt": ["$max.k", 0]
}
}}
])
这适用于max。有没有办法只获取max值的键,因为它没有名称。我需要在这个项目结束后立即根据密钥分组。知道吗,我做了类似的事情,但我只是在组声明中做了eth.k来访问。