嘿伙计们我想通过 $或 -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 ) ) ) );
但是这不起作用......当我只搜索一个索引时,它工作得很好..例如:
$oCursor = $oCollection->find( array( 'name' => $oSearchRegex ) );
任何解决方案?
答案 0 :(得分:1)
正如您所说,您有1.4.4 MongoDB
版本,但"or" operator was included only from version 1.7.x
以后