2016-12-16 58 views
0

我有幾個相關的收藏在我的學說ODM項目的MongoDB集合...如何查詢基於相關文件(教義)

# Contract.mongodb.yml 
Project\Contract\Domain\Contract: 
    type:    document 
    repositoryClass: Project\SymfonyBundle\ContractBundle\Repository\ContractRepository 
    collection:  Contracts 
    fields: 
    id: 
     type:  id 
     id:  true 
     strategy: UUID 
    slug: 
     type: string 
     length: 128 
     unique: true 
     gedmo: 
     slug: 
      separator: - 
      style:  default 
      fields: 
      - refNo 
      - name 
    name: 
     type: string 
    refNo: 
     type: string 
    purpose: 
     type: string 
    budgetAmount: 
     type: int 
    budgetCurrency: 
     type: string 
     length: 3 
    startDate: 
     type: date_immutable 
    endDate: 
     type: date_immutable 
    provider: 
     type: string 
    referenceOne: 
    provider: 
     targetDocument: Project\Contract\Domain\Provider 
     cascade: 
     - persist 
     - merge 
     - detach 
     - refresh 
    referenceMany: 
    reports: 
     targetDocument: Project\Report\Domain\Report 
     cascade: 
     - all 

# Provider.mongodb.yml 
Project\Contract\Domain\Provider: 
    type:    document 
    repositoryClass: Project\SymfonyBundle\ContractBundle\Repository\ProviderRepository 
    collection:  Providers 
    fields: 
    id: 
     type:  id 
     id:  true 
     strategy: UUID 
    slug: 
     type: string 
     length: 128 
     unique: true 
     gedmo: 
     slug: 
      separator: - 
      style:  default 
      fields: 
      - name 
    name: 
     type: string 
     unique: true 
    referenceMany: 
    users: 
     targetDocument: Project\User\Domain\User 
     cascade:  [] 

# User.mongodb.yml 
Project\User\Domain\User: 
    type:    document 
    repositoryClass: Project\SymfonyBundle\UserBundle\Repository\UserRepository 
    collection:  Users 
    fields: 
    id: 
     type:  id 
     id:  true 
     strategy: UUID 

我想要做的就是合同給定用戶,但我無法解決如何根據用戶查詢合同集合。我需要做2個查詢嗎? 1讓用戶的提供商&然後第二個查詢鏈接到其中一個提供商的合同?

如果你能夠告訴我如何在控制檯以及教條中做到這一點,我會很感激這些知識。

在此先感謝您的幫助:O)

回答