2010-04-20 50 views
1

這裏有對象:的MongoDB的PHP:JOIN式查詢

courses 
{ "name" : "Biology", "_id" : ObjectId("4b0552b0f0da7d1eb6f126a1") } 
students 
{ 
     "name" : "Joe", 
     "classes" : [ 
       { 
         "$ref" : "courses", 
         "$id" : ObjectId("4b0552b0f0da7d1eb6f126a1") 
       } 
     ], 
     "_id" : ObjectId("4b0552e4f0da7d1eb6f126a2") 
} 

使用PHP蒙戈班,我怎麼都具有生物學課程學生?

謝謝

回答

2

您需要查詢兩次。我沒有在我面前的環境,但類似於下面的東西。我可能有第二個查詢的「嵌套」部分不正確。

//首先獲取該課程的ID。

$course = $collection->findOne(array("name" => "Biology")); 

//接下來查詢學生集合。

$collection->find(array("classes" => array("id" => $course['_id'])));