我可以做一个边界框位置查询,如下所示:
$cursor = $coll->find(array('loc' => array('$within' => array('$box' => $box))));
另一个基本查询有效:
$cursor = $coll->find(array('type' => $filter));
但是当我尝试将两者结合到一个新查询中时,它不起作用:
$cursor = $coll->find(array(
array('loc' => array('$within' => array('$box' => $box))),
array('type' => $filter)
));
我是否错误地处理了查询字符串?
答案 0 :(得分:1)
您的语法不正确,您应该这样做:
$cursor = $coll->find(array(
'loc' => array('$within' => array('$box' => $box)),
'type' => $filter,
));
即,有一个包含所有查询部分的数组。