PHP Mongodb GEO+$或
我不知道这个查询有什么问题,分离查询工作正常,但使用$或显示错误数据PHP Mongodb GEO+$或,php,mongodb,Php,Mongodb,我不知道这个查询有什么问题,分离查询工作正常,但使用$或显示错误数据 $range = array('$or' => array( array('loc.lat' => array('$within' => array('$centerSphere' => array( array(floatval( $la ), floatval( $long )), $max ))), 'la
$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)))
));
正确格式化代码(数组),您就会看到问题所在
提示:
var\u dump($range)代码>什么是单独的查询?这与格式无关。问题在于Mongodb不支持带有$all或$all等的地理查询,所以它只是不支持
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)
}
}
}
}