PHP Mongodb GEO + $OR


PHP Mongodb GEO + $OR

$range = array('$or' => 
     array(  
         array('loc.lat' => array('$within' => 
         array('$centerSphere' => 
         array( array(floatval( $la ), floatval( $long )), $max  ))),
        'language' => 'de', 'M' => 'Y')
     ),
    array('loc.c' => 'de', array('loc.m' => array('$exists' => false)) ),   
    array('loc.w' => 12, array('loc.m' => array('$exists' => false)))
));

我不知道这个查询有什么问题,分离的查询工作正常,但$OR显示错误的数据

    array(3) {
  ["$or"]=>
  array(1) {
    [0]=>
    array(3) {
      ["loc.lat"]=>
      array(1) {
        ["$within"]=>
        array(1) {
          ["$centerSphere"]=>
          array(2) {
            [0]=>
            array(2) {
              [0]=>
              float(50.0646501)
              [1]=>
              float(19.9449799)
            }
            [1]=>
            float(0.004390090937598)
          }
        }
      }
      ["language"]=>
      string(2) "pl"
      ["M"]=>
      string(1) "Y"
    }
  }
  [0]=>
  array(2) {
    ["loc.c"]=>
    string(2) "pl"
    [0]=>
    array(1) {
      ["loc.m"]=>
      array(1) {
        ["$exists"]=>
        bool(false)
      }
    }
  }
  [1]=>
  array(2) {
    ["loc.w"]=>
    string(2) "12"
    [0]=>
    array(1) {
      ["loc.m"]=>
      array(1) {
        ["$exists"]=>
        bool(false)
      }
    }
  }
}

正确格式化代码(数组),你会看到问题。

提示:var_dump($range);