获取具有MongoDB中字段最大值的文档

时间:2020-01-10 10:18:53

标签: mongodb mongodb-query aggregation-framework

我正在使用聚合框架从一组文档集中的集合中获取字段的最大值,就像这样

db.getCollection('Collection').aggregate([
   {$match: {"product": {$in: ["product-a"]}}},
   {$group: {_id: null, maxPrice: {$max: "$price"}}}
])

但是,如果我想获取与此条件匹配的文档的ID,该怎么办?在下一个阶段,我该如何做?

1 个答案:

答案 0 :(得分:1)

您可以像这样将所有字段放入$max运算符中……它将为您提供max字段的文档,该文档最初在$max对象中使用。我只是在这里用过price

db.getCollection("Collection").aggregate([
  { "$match": { "product": { "$in": ["product-a"] } } },
  { "$group": {
    "_id": null,
    "maxPrice": {
      "$max": {
        "price": "$price",
        "_id": "$_id"
      }
    }
  }}
])