我试图做一个像php mongo一样的mysql;在我的文章集中找到任何链接,这些链接以www.foo.com/{category}开头。我可以在shell中执行它,但PHP驱动程序似乎没有正确插入我的命令。 mongo正则表达式缺乏完整的文档。这是我的代码。
$cats = ['news', 'life', 'humor'];
foreach($cats as $cat){
$category = 'www.foo.com/' . $cat;
$articles = db()->articles->find(['link' => array('$regex'=>new MongoRegex("/^$category/"))]);
}
它返回文章但链接不匹配。
答案 0 :(得分:1)
我尝试连接正则表达式,然后将其传递给mongo查询,而不是在查询中正则表达式,同时删除引号,这似乎工作。希望它可以帮助遇到类似问题的其他人
$cats = ['news', 'life', 'humor'];
foreach($cats as $cat){
$prefix = '/^';
$suffix = '/'; // prefix and suffix make up the regex notation for text that starts with
$category = $prefix . 'www.foo.com/' . $cat . $suffix;
$articles = db()->articles->find(['link' => array('$regex'=>new MongoRegex($category))]);
}