我需要在mongo php中使用like查询

我需要在mongo php中使用like查询,php,regex,mongodb,Php,Regex,Mongodb,我在shell中使用了这个查询。它工作得很好。如果我在php中使用它,它会显示一个错误 <?php $m = new Mongo(); $db = $m->foo; $collection = $db->base; $query = array( "ro" => '/^a/' ); $cursor = $collection->find($query); foreach ($cursor as $obj) { echo $obj["ro"] . "<

我在shell中使用了这个查询。它工作得很好。如果我在php中使用它,它会显示一个错误

<?php
$m = new Mongo();
$db = $m->foo;
$collection = $db->base;
$query = array( "ro" => '/^a/' );
$cursor = $collection->find($query);

foreach ($cursor as $obj) {
    echo $obj["ro"] . "<br/>";
}
您需要使用MongoRegex()

请参见此处的文档:

所以PHP代码类似于

$regex = new MongoRegex("/^a/"); 
$where = array('ro' => $regex);
$cursor = $collection->find($where);
一行:

$mCollection->find(array("date" => new MongoRegex("/2011-10-25/")));

如果使用mongodb扩展,则应使用mongodb\BSON\Regex()而不是MongoRegex()


您不必使用“/”[regex]“/”。只是正则表达式工作正常

什么错误?每当你说“向我显示一个错误”之类的话时,实际上发布错误消息肯定会有所帮助。
$regex = new \MongoDB\BSON\Regex("^a"); 
$where = array('ro' => $regex);
$cursor = $collection->find($where)