【发布时间】:2013-12-29 15:47:17
【问题描述】:
我正在尝试使用MongoRegex 在 MongoDB 集合上执行 PHP find,但我无法使其工作。代码很简单:
$cursor = $this->collection->find($params)
//$params has this value:
//Array
//(
// [name] => MongoRegex Object
// (
// [regex] => .*victor.*
// [flags] => i
// )
// [login] => MongoRegex Object
// (
// [regex] => .*victor.*
// [flags] => i
// )
//)
这个$params数组是用这个函数构造的:
function toRegEx($entryVars=array()){
$regexVars = array();
foreach($entryVars as $var => $value){
$regexVal = html_entity_decode($value);
$regexVars[$var] = new MongoRegex("/.*".$regexVal.".*/i");
}
return $regexVars;
}
由于某种原因,此查询仅返回完全匹配的值(即登录名或名称恰好为“victor”的文档)。我想要的是查询返回登录和/或名称包含单词“victor”的所有文档。我很确定我缺少一些基本的东西,但我找不到它。任何帮助表示赞赏。谢谢!
【问题讨论】:
标签: php regex mongodb mongodb-php