2014-05-20 113 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返回數組。

相關問題