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来访问。