regex — поле поиска PHP mongo начинается с

Я пытаюсь сделать эквивалент MySQL, как для PHP Монго; найти любую ссылку в моей коллекции статей, которая начинается с www.foo.com/ndomcategory}. Я могу выполнить это нормально в оболочке, но драйвер 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

Решение

я попытался объединить регулярное выражение, а затем передать его в запрос на монго, в отличие от регулярного выражения в запросе вместе с удалением кавычек, и это, похоже, сработало. надеюсь, это поможет кому-то, кто сталкивался с подобными проблемами

$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))]);
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]