Начало поиска PHP mongo начинается с
Я пытаюсь сделать эквивалент mysql, как для php mongo; найти любую ссылку в моей коллекции статей, которая начинается с сайта www.foo.com/{category}. Я могу выполнить это нормально в оболочке, но драйвер php, кажется, не будет правильно интерполировать мою команду. И в регулярном выражении манго не хватает полной документации. Вот мой код.
$cats = ['news', 'life', 'humor'];
foreach($cats as $cat){
$category = 'www.foo.com/' . $cat;
$articles = db()->articles->find(['link' => array('$regex'=>new MongoRegex("/^$category/"))]);
}
он возвращает статьи, но ссылки не совпадают.
Ответы
Ответ 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))]);
}