2012-08-31 50 views
2

我目前在帖子集合的文档上有一个字段,它是一组用户的ReferenceOne。查询壳db.posts.findOne({"usuario_stream.$id": ObjectId("5012d7674dfbad7f4e000084")})工作正常,但使用QueryBuilder它根本不起作用。学说QueryBuilder不使用DBRef

$this->doctrine->createQueryBuilder('Documents\Posts')->field('usuario_stream.$id')->equals(new MongoId('5012d7674dfbad7f4e000084'))->eagerCursor(true)->getQuery()->execute();在分析器上显示{ "$query" : { "usuario_stream.$id" : null }, "$orderby" : [ ] }

我做错了什么?

回答

2

,如果你使用的ID作为一个字符串,而不是MongoID的实例上usuario_stream $ ID查询它应该工作:

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

其实,我觉得这是相反的 - 在我的代码我使用'' - > field('image。$ id') - > equals(new MongoId($ image-> getId()))'',它可以很好地工作。 – leafnode