1

私はmongodbとdoctrine/mongodb-odm-bundleを使用していますこのようなクエリを作成しようとしています

$matches = array("/^abc/", "/^dbc/);

$this->createQueryBuilder()
    ->field('field_name')->in($matches)
    ->getQuery();

正規表現を使用したuse$allおよび$in条件演算子です。それは可能ですか?

4

1 に答える 1

2

できますが、私はPHPの専門家では$matchesありませんが、正規表現ではなく、文字列の配列のように見えます。代わりに、次のようなことを行う必要があります。

$matches = array(new MongoRegex("/^abc/"), new MongoRegex("/^dbc/"));

シェルでは、次のようにします。

db.collection.find({field_name: {$in: [/^abc/, /^dbc/]}})
于 2012-10-16T15:23:27.703 に答える