Intereting Posts
Отправка formData с Uploadify, не работающая с большим размером файла Разрешения кэширования установки php symfony2 Передача специальных символов с php на javascript Zend Framework 2 – стратегия Hydrator для отношений Doctrine не работает Медленное дешифрование AES в Android Ошибка phpMyAdmin при настройке для доступа к удаленному серверу с локальным клиентом phpMyAdmin Nginx + PHP: перенаправить защищенный запрос файла на PHP-скрипт, а затем загрузить файл Есть ли какой-либо эфиопский календарь, доступный для веб-сайтов? Symfony Console – перезаписать параметры по умолчанию Связывание блога WordPress с CodeIgniter View как загрузить более одного изображения на сервер (база данных mysql), используя php и android Функция Doctrine 2 Query Builder abs Функция проверить URL-адрес с google, safe = active Доступ к контейнеру Symfony 2 через модульный тест? «Не удается отправить ограничитель кеша сеанса – уже отправленные заголовки»

Как я могу использовать регулярные выражения с OOD Mongodb Doctrine?

Я пытаюсь использовать регулярные выражения, чтобы запросить Mongodb с помощью Doom's Mongodb ODM на Symfony 2.

Я знаю, что драйвер PHP mongo может это сделать . Однако я не знаю, как это сделать с Доктриной.

Я использую тот же класс? Как я могу ссылаться на MongoRegex из Symfony?

Solutions Collecting From Web of "Как я могу использовать регулярные выражения с OOD Mongodb Doctrine?"

Это появилось некоторое время назад в списке рассылки доктрины-пользователя . Вы можете использовать класс \MongoRegex непосредственно в запросах ODM:

 $documentRepository->findBy(array( 'foo' => new \MongoRegex('/^bar/'), )); 

Или при использовании построителя запросов:

 $queryBuilder->field('foo')->equals(new \MongoRegex('/^bar/')); 

Имейте в виду, что шаблоны регулярных выражений с привязкой к фронту, основанные на регистре, смогут наиболее эффективно использовать индексы. Это более подробно обсуждается в монгольских документах .

вы можете следить за вопросом о переполнении стека для подробностей. Как использовать зарезервированные символы в createQueryBuilder и MongoRegix ,

Кроме того, в то время как / ^ а /, / ^ а. /, и / ^ а. $ / match эквивалентные строки, они имеют разные характеристики производительности. Все эти выражения используют индекс, если существует соответствующий индекс; однако, / ^ а. /, и / ^ а. $ / медленнее. / ^ a / может остановить сканирование после сопоставления префикса. Mongo Docs Regix