这个问题在这里已有答案:
我试图用PHP在mongodb中实现MySQL查询,但我不知道该怎么做。
select * from stud where name like "%abc%"
php代码:
$regex = new \MongoDB\BSON\Regex("^(.*?(\abc\b)[^$]*)i$");
$result = $db->stud->find(array('name' => $regex));
我也试过这个
$result = $db->stud->find(( { name : { $regex: '*.abc.*'} } ));
根据this manual执行LIKE匹配,你不需要在模式中的任何地方使用wildecards。例如,要查询%abc%
,您必须这样做:
$result = $db->stud->find(array(
'name' => new \MongoDB\BSON\Regex("abc")
));