无法识别的管道阶段名称:'$ addFields''

时间:2017-05-19 14:38:19

标签: mongodb mongodb-query aggregation-framework mongodb-php

我写了像mongo db查询

            $outputTotalResults= $this->db->studentTbl->aggregate(
           array(
           array(
             '$addFields' => array(
             'weight' => array(
             '$cond' => array(
              array( 
                   '$or' => array( 
                        array( 
                          '$eq' => array( 
                           array('$concat' => array('$first_name',  ' ',  '$middle_name', ' ', '$last_name')),
                           $arg
                           )
                      ),
                array( 
                     '$eq' => array(
                       array('$concat' => array('$first_name',  ' ',  '$middle_name')), 
                        $arg 
                         )
                     ),
                 array(
                    '$eq' => array(
                     array('$concat' => array('$first_name',  ' ',  '$last_name')),
                      $arg 
                      )
                    )
                   )
                 ),
                 10,
                  0
                 )
               )
              )
             ),
             array(
                   '$sort' => array( 'weight'=> -1 )
                 )
             )
           );

我正在尝试对学生进行排序。上面的代码抛出错误“无法识别的管道阶段名称:'$ addFields''”

请帮帮我!!!

1 个答案:

答案 0 :(得分:0)

请检查您的mongodb版本。该功能在3.2上不可用,已在v3.4中添加。 Upgrade the db then