Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何写作”;最大值((a&"x2B;b)/c)";在MongoDB?_Mongodb - Fatal编程技术网

“如何写作”;最大值((a&"x2B;b)/c)";在MongoDB?

“如何写作”;最大值((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+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的答案:)。没关系,谢谢!