2010-04-20 6 views
1

Voici les objets:MongoDB-PHP: REJOIGNEZ comme requête

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

Utilisation de la classe PHP Mongo, comment puis-je obtenir tous les étudiants qui a un cours de biologie?

Merci

Répondre

2

Vous aurez besoin d'interroger deux fois. Je n'ai pas mon environnement devant moi, mais quelque chose de similaire à ce qui est en dessous. Je peux avoir la partie "imbriquée" de la deuxième requête incorrecte.

// Saisissez d'abord l'ID du cours.

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

// Procéder à une requête dans la collection des étudiants.

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