2012-07-08 38 views
0
$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))) 
)); 

我不知道什么是错的这个查询分离查询工作正常,但以$或显示错误的数据

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) 
     } 
    } 
    } 
} 
+0

什么是单独的查询? – 2012-07-08 21:58:51

回答

0

格式代码(阵列)正确,你会看到这个问题。

提示:var_dump($range);

+0

格式化,当我使用没有$或工作正常。 – user956584 2012-07-09 16:21:52

+0

是啊?如果是这样,发布格式正确,可读的代码... – 2012-07-09 17:18:02

+0

这不是格式美观。问题是Mongodb不支持使用$或$ all等地理查询https://jira.mongodb.org/browse/SERVER-3984所以它只是noposibbbbre – user956584 2012-07-10 01:44:15