2016-10-31 13 views
0

我使用MongoDB的,我有這個集合:MongoDB中採取鍵陣列LISTI

{ 
"_id" : ObjectId("5810020c63b46a3071029031"), 
"where" : "shool", 
"referenceWork" : [ 
    { 
     "role" : "teacher", 
     "people" : [ 
      { 
       "name" : "lello", 
       "num" : "01" 
      }, 
      { "name" : "gigi", 
       "num" : "02" 
      }, 
      { 
       "name" : "mario", 
       "num" : "03" 
      } 
     ] 
    }, 
    { 
     "role" : "janitor" 
    } 
] 

}

我需要知道如何獲取數組一樣的鍵:老師和看門人。

我的PHP命令:

$query = "db.people.findOne({'_id' : ObjectId('".$id."')})"; 
$response = $db->execute($query); 
$responseJson = $response['retval']['referenceWork'] ; 
echo json_encode($responseJson); 

另外,我不知道如何獲得referenceWork長度。

+0

你看過PHP的任何文件和MongoDB?請先閱讀。 這是官方文檔http://php.net/manual/en/mongo.queries.php –

+0

我did.i真的不知道 – AlleBo

回答

0

試試下面的代碼: -

 $rescursor=[];  
     $query = "db.people.findOne({'_id' : ObjectId('".$id."')})"; 
     $response = $this->getDB()->execute($query); 
     $arrayRole=$response['retval']['referenceWork']; 
     $count = count($arrayRole); 
     for($i=0;$i<$count;$i++){ 
      echo $arrayRole[$i]['role']; 
      echo "<br>"; 
     }