Encontrar o MongoDB da doutrina por id
Estou usando a doutrina odm mongo e tenho que documentar classes
class Thing
{
/**
* @MongoDB\Id
*/
protected $id;
/**
* @MongoDB\ReferenceOne(targetDocument="Bundle1:Other")
*/
protected $other;
}
e
class Other
{
/**
* @MongoDB\Id
*/
protected $id;
}
portanto, no banco de dados, algo se parece com:
{
"_id":ObjectId("43z758634875adf"),
"other":ObjectId("38z287348d8se")
}
Como posso agora procurar coisas em que outro é um determinado ID?
$dm=$this->mongo->getManager();
$answers=$dm
->createQueryBuilder('Bundle1:Thing')
->field('other')->equals("ObjectId(516c0061975a299edc44b419)") // <-- ?
->getQuery()
->execute()->count();
Isso produz uma consulta mongo errada
Consulta do MongoDB: {"find": true, "query": {"other": "ObjectId (516c0061975a299edc44b419)"}, "fields": [], "db": "maself", "collection": "thing"} [] []
Quando eu uso
-> campo ('outro') -> igual ("516c0061975a299edc44b419")
a consulta também está errada
Consulta do MongoDB: {"find": true, "query": {"other": "516c0061975a299edc44b419"}, "fields": [], "db": "maself", "collection": "thing"} [] [ ]
Então, como posso procurar algo em que outro id seja igual a um objectId?