我对 MongoDB 和聚合只有最基本的了解。我无法找到一个清晰的示例来说明如何比较与某个条件匹配的多个文档并返回 1 个具有特定属性最大值的文档。
假设我们的集合中有以下文档:
{ name: "a" , value: 2 }
{ name: "a" , value: 4 }
{ name: "a" , value: 6 }
{ name: "b" , value: 2 }
{ name: "b" , value: 8 }
如何按名称
(eq("name","a")
) 进行过滤,然后返回具有最高值
的文档?
最佳答案
try this
db.collection.aggregate(
[
{
$group: {
_id: "$name",
values: {$addToSet: "$value"}
}
},
{
$project:{
_id: 0, name: "$_id", value: {$max: "$values"}
}
}
])
关于java - MongoDB 与 Java : Finding the document with max value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56028852/