我正在尝试使用点符号查询嵌入的文档——这里有一些例子:
http://www.mongodb.org/display/DOCS/Dot+Notation+(Reaching+into+Objects)
由于我挂断了 DQL/QueryBuilder API,我只想通过 Doctrine 传递原始查询。我似乎无法在 Symfony2 的构造中弄清楚这一点。我可以确定的唯一代码是:
$dm = $this->get('doctrine.odm.mongodb.document_manager');
$dm->getSchemaManager()->ensureIndexes();
$repo = $dm->getRepository('MyBundle:MyDocument');
$qb = $repo->createQueryBuilder();
// insert magic here
$query = $qb->getQuery();
$result = $query->execute();
以下是点符号的工作原理:
$dm = $this->get('doctrine.odm.mongodb.document_manager');
$dm->getSchemaManager()->ensureIndexes();
$repo = $dm->getRepository('MyBundle:MyDocument');
$qb = $repo->createQueryBuilder();
$qb
->field('embedded_document_field.field1')->equals(1)
->field('embedded_document_field.field2')->equals('foo')
;
$query = $qb->getQuery();
$result = $query->execute();