I'm trying to use regular expressions to query Mongodb using Doctrine's Mongodb ODM on Symfony 2.
I know the PHP mongo driver can do it. However, I don't know how to do this with Doctrine.
Do I use the same class? How do I reference MongoRegex from within Symfony?
This came up a while ago on the doctrine-user mailing list. You can use the \MongoRegex
class directly in your ODM queries:
$documentRepository->findBy(array(
'foo' => new \MongoRegex('/^bar/'),
));
Or if using a query builder:
$queryBuilder->field('foo')->equals(new \MongoRegex('/^bar/'));
Keep in mind that front-anchored, case-sensitive regex patterns will be able to use indexes most efficiently. This is discussed in more detail in the Mongo docs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With