1

次のように、境界ボックスの場所のクエリをうまく実行できます。

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

)); 

クエリ文字列を正しく処理していませんか?

4

1 に答える 1

1

構文が正しくありません。次のようにするだけです。

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

つまり、すべてのクエリ部分を含む 1 つの配列を持ちます。

于 2012-04-17T09:03:14.717 に答える