使用PHP的MongoDB\Driver\Query类在查询中设置带有正则表达式的过滤器

Mic*_*fer 3 php regex mongodb php-mongodb

将MongoDB与PHP的MongoDB驱动程序一起使用我无法使用正则表达式过滤搜索结果.在手册中没有给出如何使用"过滤器"选项的示例:MongoDB\Driver\Query.

 $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
 $filter = array(?????);
 $options = array("projection" => array("fieldname" => 1));
 $query = new MongoDB\Driver\Query($filter, $options);
 $cursor = $manager->executeQuery("dbname.collectionname", $query);
 foreach($cursor as $document) {
    var_dump($document);
 }
Run Code Online (Sandbox Code Playgroud)

我尝试了大约20种不同的可能性,但找不到答案.没有正则表达式的查询工作正常.

Mic*_*fer 5

我很蠢.这个:

'fieldname' => array('$regex' => 'm')
Run Code Online (Sandbox Code Playgroud)

将在字段"fieldname"中的某处找到所有带有"m"的文档.