2012-08-31 70 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