MongoDB: 如何获取每个类别的最大值和最小值?我收到空值

MongoDB: how to get max and min values for every category? I received null value

我需要为每一行找到最大值和最小值 flight_time。

那是我的 collection 的一部分(只有两份文件,但我有 20 份):

db.myflights.insert([
//1
{
    start_time: new Date("2020-05-18T06:15:00Z"),
    land_time: new Date("2020-05-18T07:30:00Z"),
    flight_time: 1.25, 
    passengers: "90",
    line_name: "WizzAir"
},
//2
{
    start_time: new Date("2020-06-18T07:30:00Z"),
    land_time: new Date("2020-06-18T09:30:00Z"),
    flight_time: 2, 
    passengers: "111",
    line_name: "Lufthansa"
}
]) 

我试过了:

db.myflights.aggregate([
    {"$group" : {_id:"$line_name"}},

    {
    $addFields:
    {"max_time": {$max: "$flight_time"}  }
            },
    {
    $addFields:
    {"min_time": {$min: "$flight_time"} }
            }

])

我在两个 max/min_time 中都收到了 null。

你有什么建议吗?我该如何改变?

提前致谢

您可以将 $max$min 作为 $group 阶段的一部分。

尝试:

db.collection.aggregate([
  {
    "$group": {
      _id: "$line_name",
      max_time: {
        $max: "$flight_time"
      },
      min_time: {
        $min: "$flight_time"
      }
    }
  }
])

MongoPlayground