Mongodb 条令ODM查询生成器子查询

Mongodb 条令ODM查询生成器子查询,mongodb,symfony,doctrine-orm,akeneo,Mongodb,Symfony,Doctrine Orm,Akeneo,我在mongoDB中使用Akeneo 1.4系统,并且有多个数据关联。现在我想查询associationType中包含特定产品的产品。数据库中的mongo数据如下所示: "associations": [ { "_id": ObjectId("565867d7c6e41f4408d0068f"), "associationType": 5, "groupIds": [ ],

我在mongoDB中使用Akeneo 1.4系统,并且有多个数据关联。现在我想查询associationType中包含特定产品的产品。数据库中的mongo数据如下所示:

"associations": [
{
  "_id": ObjectId("565867d7c6e41f4408d0068f"),
  "associationType": 5,
  "groupIds": [

  ],
  "owner": {
    "$ref": "pim_catalog_product",
    "$id": ObjectId("56560373c6e41f5b688b47d7"),
    "$db": "akeneo_pim"
  },
  "products": [
    {
      "$ref": "pim_catalog_product",
      "$id": ObjectId("56560372c6e41f5b688b4583"),
      "$db": "akeneo_pim"
    }
  ]
},
{
  "_id": ObjectId("565867d7c6e41f4408d00690"),
  "associationType": 6,
  "groupIds": [

  ],
  "owner": {
    "$ref": "pim_catalog_product",
    "$id": ObjectId("56560373c6e41f5b688b47d7"),
    "$db": "akeneo_pim"
  },
  "products": [

  ]
}
]
我知道如何在中查询products数组:

$queryBuilder->addOr(
    $queryBuilder->expr()->field('associations.products.$id')->in(array(new \MongoId($product->getId())))
);
但我不知道如何仅查询具有特定associationType(例如5)和给定productId的产品。我可以在ODM中执行类似子查询的操作吗?我已经尝试了多个QueryBuilder对象,但没有成功