正規表現を使用して、Symfony2でDoctrineのMongodbODMを使用してMongodbにクエリを実行しようとしています。
私はPHPのmongoドライバーがそれを実行できることを知っています。しかし、Doctrineでこれを行う方法がわかりません。
同じクラスを使用しますか?Symfony内からMongoRegexを参照するにはどうすればよいですか?
正規表現を使用して、Symfony2でDoctrineのMongodbODMを使用してMongodbにクエリを実行しようとしています。
私はPHPのmongoドライバーがそれを実行できることを知っています。しかし、Doctrineでこれを行う方法がわかりません。
同じクラスを使用しますか?Symfony内からMongoRegexを参照するにはどうすればよいですか?
これは、 doctrine-userメーリング リストで少し前に取り上げられました。\MongoRegex
ODM クエリでクラスを直接使用できます。
$documentRepository->findBy(array(
'foo' => new \MongoRegex('/^bar/'),
));
または、クエリ ビルダーを使用する場合:
$queryBuilder->field('foo')->equals(new \MongoRegex('/^bar/'));
先頭に固定され、大文字と小文字が区別される正規表現パターンは、インデックスを最も効率的に使用できることに注意してください。これについては、 Mongo docsで詳しく説明しています。