2012-04-17 101 views
1

我可以做一个边框位置查询细,像这样:PHP和MongoDB的 - 查询阵列

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

)); 

上午我处理的查询字符串不正确?

回答

1

你的语法是不正确的,你应该简单地做:

$cursor = $coll->find(array(
    'loc' => array('$within' => array('$box' => $box)), 
    'type' => $filter, 
)); 

即,有一个阵列的所有查询部分。