$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)
}
}
}
}