1

我正在使用 mongodb 和教义/mongodb-odm-bundle 我正在尝试构建这样的查询

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

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

是带有正则表达式的使用$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 回答