2

私は現在、ユーザーのコレクションへの ReferenceOne である posts コレクションのドキュメントにフィールドを持っています。シェルでのクエリ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" : [ ] }

私は何か悪いことをしていますか?

4

1 に答える 1

3

MongoID のインスタンスではなく文字列として ID を使用して、usuario_stream.$id に対してクエリを実行すると機能するはずです。

->field('usuario_stream.$id')->equals('5012d7674dfbad7f4e000084')
于 2012-09-11T07:22:02.690 に答える