标签: mongodb mongodb-query aggregation-framework
我正在使用聚合框架从一组文档集中的集合中获取字段的最大值,就像这样
db.getCollection('Collection').aggregate([ {$match: {"product": {$in: ["product-a"]}}}, {$group: {_id: null, maxPrice: {$max: "$price"}}} ])
但是,如果我想获取与此条件匹配的文档的ID,该怎么办?在下一个阶段,我该如何做?
答案 0 :(得分:1)
您可以像这样将所有字段放入$max运算符中……它将为您提供max字段的文档,该文档最初在$max对象中使用。我只是在这里用过price。
$max
price
db.getCollection("Collection").aggregate([ { "$match": { "product": { "$in": ["product-a"] } } }, { "$group": { "_id": null, "maxPrice": { "$max": { "price": "$price", "_id": "$_id" } } }} ])