Como consultar documentos incorporados por um documento referenciado?

Estou usando o Doctrine ODM e estou tendo problemas para consultar documentos incorporados por um documento referenciad

Considere os seguintes documentos:

<?php

/** @Document */
class TopCategory 
{

    /** EmbedMany(targetDocument="SubCategory") */
    private $subCategories;

}

/** @EmbeddedDocument */
class SubCategory 
{

    /** ReferenceMany(targetDocument="Product") */
    private $products;

}


/** @Document */
class Product
{

    /** @String */
    private $name;

}

Agora, estou me perguntando como eu poderia encontrar uma TopCategory (ou subcategoria) por produto, tentei algumas maneiras diferentes de conseguir isso, um método funciona, mas é um pouco tol

Primeira maneira, não funciona:

$category = $dm->createQueryBuilder('TopCategory')
    ->field('subCategories.products')->includesReferenceTo($someProduct)
    ->getQuery()->execute();
// ... gives Doctrine\ODM\MongoDB\MongoDBException: No mapping found for field 'subCategories.products' in class 'TopCategory'.'

Segunda maneira, não funciona:

$category = $dm->createQueryBuilder('SubCategory')
    ->field('products')->includesReferenceTo($someProduct)
    ->getQuery()->execute();    
// ... returns null

erceiro, solução alternativa de trabalho:

$category = $dm->createQueryBuilder('SubCategory')
    ->field('products.$id')->equals(new \MongoId($someProduct->getId()))
    ->getQuery()->execute();    
// .. works, but seems hackish

Estou usando as últimas atualizações do GitHub e MognoDB v1.8.0 O que há com isso?

OTA: Interessante como o Doctrine ODM permite retornar um documento incorporado diretament

questionAnswers(1)

yourAnswerToTheQuestion