2012-08-31 9 views
2

J'ai actuellement un champ sur un document de la collection posts qui est ReferenceOne à une collection d'utilisateurs. Requête sur le shell db.posts.findOne({"usuario_stream.$id": ObjectId("5012d7674dfbad7f4e000084")}) fonctionne très bien, mais en utilisant le QueryBuilder il ne fonctionne tout simplement pas.Doctrine QueryBuilder ne fonctionne pas avec DBRef

$this->doctrine->createQueryBuilder('Documents\Posts')->field('usuario_stream.$id')->equals(new MongoId('5012d7674dfbad7f4e000084'))->eagerCursor(true)->getQuery()->execute(); sur le profileur montre { "$query" : { "usuario_stream.$id" : null }, "$orderby" : [ ] }.

Je fais quelque chose de mal?

Répondre

2

Il devrait fonctionner si vous interrogez sur usuario_stream $ id en utilisant l'ID comme une chaîne plutôt qu'une instance de MongoId.

->field('usuario_stream.$id')->equals('5012d7674dfbad7f4e000084') 
+1

En fait, je trouve qu'il est le contraire - dans mon code que j'utilise '' -> champ ('image. $ id') -> est égal à (new MongoId ($ image-> getId())) '' et fonctionne parfaitement. – leafnode

Questions connexes