2014-05-20 107 views
1

我有以下几组数据:假设这是一个“类别”集合,每个类别都有一个父类别“category”,属于另一个集合的“section”MongoDB获取具有相同外键的所有文档

{ 
    "_id": ObjectId("5379e61b086d83de218b4568"), 
    "name": { 
     "en": "Inactive accounts" 
    }, 
    "parent": ObjectId("5379e61b086d83de218b4568"), 
    "section": "ObjectId("5379d4f9086d835328a22fc8") 
} 
{ 
    "_id": ObjectId("5379e61b086d83de218b4568"), 
    "name": { 
     "en": "second category" 
    }, 
    "parent": 0, 
    "section": "ObjectId("5379d4f9086d835328a22fc8") 
} 

等......

我试图让在同一节中的所有类:这是我的PHP代码:

$categories = $db->categories->find(array('section' => new MongoId($section))); 

在这种情况下,它会返回{ }空结果,而如果使用findOne则返回一个文档。

$categories = $db->categories->findOne(array('section' => new MongoId($section))); 

我不确定是否遗漏了某些东西,我可能会将外键改为字符串而不是ObjectId('')。

回答

0

我解决了它,我正在处理不正确的响应。上面的代码工作,但find函数返回'Cursor',而findOne返回数组。

相关问题