我目前在posts集合的文档上有一个字段,它是一个用户集合的ReferenceOne。查询shell db.posts.findOne({"usuario_stream.$id": ObjectId("5012d7674dfbad7f4e000084")})
工作正常,但使用QueryBuilder它根本不起作用。
$this->doctrine->createQueryBuilder('Documents\Posts')->field('usuario_stream.$id')->equals(new MongoId('5012d7674dfbad7f4e000084'))->eagerCursor(true)->getQuery()->execute();
显示{ "$query" : { "usuario_stream.$id" : null }, "$orderby" : [ ] }
。
我做错了什么?
答案 0 :(得分:2)
如果你使用ID作为字符串而不是MongoID的实例来查询usuario_stream。$ id,它应该可以工作:
->field('usuario_stream.$id')->equals('5012d7674dfbad7f4e000084')