MongoDB中的$或 - 运算符(PHP)

时间:2012-10-17 18:24:29

标签: php mongodb mongodb-query nosql

嘿伙计们我想通过 $或 -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 ) );

任何解决方案?

1 个答案:

答案 0 :(得分:1)

正如您所说,您有1.4.4 MongoDB版本,但"or" operator was included only from version 1.7.x以后