假设我有一个这样的集合:
{_id: 1, value: 3, color: "white"}
{_id: 2, value: 5, color: "green"}
{_id: 3, value: 1, color: "white"}
{_id: 4, value: 2, color: "blue"}
{_id: 5, value: 4, color: "green"}
是否可以获得每种颜色的最高值的项目?
我们的示例的预期输出将是:
{_id: 1, value: 3, color: "white"}
{_id: 2, value: 5, color: "green"}
{_id: 4, value: 2, color: "blue"}
目标是在单个MongoDB请求中实现此结果。
答案 0 :(得分:1)
您可以通过以下aggregation
进行操作
{this.state.tituloRopa.map(function(el, i) {
return <Modulo5_ key={i} title={el.titulo} ruta={el.ruta } />
})}
答案 1 :(得分:0)
作为根据颜色最大值对文档进行分组的解决方案,您可以使用$max运算符
执行聚合操作db.collection.aggregate([
{
$group: {
_id:{color:"$color"},
value:{$max:"$value"}
}
}
]
);