在mongoDB中查询多层

时间:2013-07-16 12:52:48

标签: mongodb doctrine-orm symfony-2.2 odm

我有一个在symfony2.2框架上运行的mongoDB应用程序。

数据库设计如下。

User,City,State

1 user belongs to one city.
1 city belongs to one state.

现在我需要查询属于A状态的所有用户。

这是我尝试但没有结果。

$response = $dm->getRepository('DataBundle:User')->createQueryBuilder()
            ->field('city.state.$id')->equals(new \MongoId('123123asd123dqa4'))
            ->getQuery()
            ->execute();

任何想法?

[编辑]

 class User
    {
       /**
         * @ODM\ReferenceOne(targetDocument="City", mappedBy="users")
         */
        protected $city;

 // getters and setters
}


class City
{
   /**
     * @ODM\ReferenceOne(targetDocument="State")
     */
    protected $state;

  /**
     * @ODM\ReferenceMany(targetDocument="User", inversedBy="state")
     */
    protected $users;

   //getters and setters
}

0 个答案:

没有答案