Symfony2 MongoDB QueryBuilder根据条件选择值

Symfony2 MongoDB QueryBuilder根据条件选择值,mongodb,symfony,query-builder,Mongodb,Symfony,Query Builder,我将symfony2与doctrine mongodb捆绑包一起使用,我需要使用QueryBuilder使用条件从列表中选择不同的值。问题是它没有使用条件返回值。 我在存储库中的代码是这样的: $this->createQueryBuilder() ->distinct('embedded_document1_list.another_embedded_document.field2') ->field('embedded_document1_list.an

我将symfony2与doctrine mongodb捆绑包一起使用,我需要使用QueryBuilder使用条件从列表中选择不同的值。问题是它没有使用条件返回值。 我在存储库中的代码是这样的:

$this->createQueryBuilder()
     ->distinct('embedded_document1_list.another_embedded_document.field2')
     ->field('embedded_document1_list.another_embedded_document.field1')
     ->equals("some_string");

此代码将返回嵌入的\u document1\u列表的每个不同值。另一个\u嵌入的\u document.field2,即使field1与“some\u string”不同。

您需要将条件(等于)放在字段上,而不是放在查询上,请尝试以下操作:

$this->createQueryBuilder()
 ->distinct('embedded_document1_list.another_embedded_document.field2')
 ->field('embedded_document1_list.another_embedded_document.field1')->equals("some_string")
 ->execute();