“如何写作”;最大值((a&"x2B;b)/c)";在MongoDB?
我想找到“(a+b)/c”的最大值,示例数据:“如何写作”;最大值((a&"x2B;b)/c)";在MongoDB?,mongodb,Mongodb,我想找到“(a+b)/c”的最大值,示例数据: {a:1,b:2,c:1} {a:2,b:2,c:1} {a:3,b:2,c:2} {a:4,b:2,c:2}, 如何编写命令?您必须进行聚合(请参阅: ) 如果您的数据收集在myCollection中,则应如下所示: db.myCollection.aggregate([{ 'myMax': { '$max': { '$divide': [ {'$add': [ '$a', '$b' ] } , '$c' } } }]) 这应
{a:1,b:2,c:1}
{a:2,b:2,c:1}
{a:3,b:2,c:2}
{a:4,b:2,c:2},
如何编写命令?您必须进行聚合(请参阅: ) 如果您的数据收集在myCollection中,则应如下所示:
db.myCollection.aggregate([{
'myMax': { '$max': { '$divide': [ {'$add': [ '$a', '$b' ] } , '$c' } }
}])
这应该做到:
db.collection.aggregate([
{
$group:{
_id:null,
max:{
$max:{
$divide:[
{
$add:[
"$a",
"$b"
]
},
"$c"
]
}
}
}
}
])
输出:
{ "_id" : null, "max" : 4 }
您唯一的希望是聚合框架。下面是可用命令的列表:目前无法测试,可能缺少一对大括号{}或类似的东西这里应该是“$group”而不是“myMax”?应该有一个“$group”包含所有内容,您是对的,但是您还需要“name”(此处:myMax)作为结果。有关正确的语法,请参见@felix的答案:)。没关系,谢谢!