$または-Operatorでドキュメントを検索したいのですが...最初に3つのドキュメントを挿入します。
$aDocument = array(
'id' => 1,
'name' => 'WinZIP',
'shorttext' => 'ZIP / UNZIP Programm' );
$oCollection->insert( $aDocument );
$aDocument = array(
'id' => 2,
'name' => 'WinRar',
'shorttext' => 'ZIP / UNZIP Programm mit RAR-Unterstützung' );
$oCollection->insert( $aDocument );
$aDocument = array(
'id' => 3,
'name' => '7zip',
'shorttext' => 'ZIP / UNZIP Programm mit RAR- und 7z-Unterstützung' );
$oCollection->insert( $aDocument );
次に、クエリの正規表現を作成しています。
$oSearchRegex = new MongoRegex( "/zip/i" );
ここで、「name」または「shorttext」で文字列「zip」を検索したいと思います...次のようになります。
$oCursor = $oCollection->find( array( '$or' => array( array( 'name' => $oSearchRegex ), array( 'shorttext' => $oSearchRegex ) ) ) );
しかし、これは機能しません... 1つのインデックスを検索するだけで、非常にうまく機能します。例:
$oCursor = $oCollection->find( array( 'name' => $oSearchRegex ) );
解決策はありますか?