12

正規表現を使用して、Symfony2でDoctrineのMongodbODMを使用してMongodbにクエリを実行しようとしています。

私はPHPのmongoドライバーがそれを実行できることを知っています。しかし、Doctrineでこれを行う方法がわかりません。

同じクラスを使用しますか?Symfony内からMongoRegexを参照するにはどうすればよいですか?

4

2 に答える 2

30

これは、 doctrine-userメーリング リストで少し前に取り上げられました。\MongoRegexODM クエリでクラスを直接使用できます。

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

または、クエリ ビルダーを使用する場合:

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

先頭に固定され、大文字と小文字が区別される正規表現パターンは、インデックスを最も効率的に使用できることに注意してください。これについては、 Mongo docsで詳しく説明しています。

于 2012-06-04T15:17:16.633 に答える