MongoDB gör det inte lagra data som JSON.
Dokumentet du klistrade in verkar vara copy&paste från skalet. Detta är inte heller JSON-format. Det här formatet kallas Extended JSON - och är hur MongoDB-skalet representerar data i javascript. De flesta exempel på MongoDB-webbplatsen använder också detta format eftersom det är enkelt och lätt. Så hellre än att ha dussintals olika utdataformat (för varje språkdrivrutin), använder MongoDB:s officiella dokumentation skalet för att demonstrera funktionalitet och utdata.
Själva underliggande formatet kallas Binary JSON (BSON). Du kommer aldrig att se det här formatet och du kommer aldrig att interagera med det.
När du interagerar med MongoDB i PHP behöver du bara veta att du sparar en PHP-array. Datan som returneras från MongoDB är också en PHP-array. Det underliggande skivformatet är inte relevant.
Du behöver aldrig anropa json_encode() eller json_decode().
$collection->find($query)
metod returnerar ett objekt som heter MongoCursor. Du bör iterera över detta objekt för att få resultaten, som kommer att vara en PHP-array.
foreach($collection->find($query) as $result) {
var_dump($result);
}
Detta kodexempel kommer att var_dump() ett resultat i taget. Detta result
kallas ett "MongoDB-dokument" och liknar "MySQL-rad". Precis som med MySQL behöver du inte veta vad det underliggande protokollet är, eller vad det underliggande skivformatet är - det har ingen inverkan på dig.
Jag rekommenderar starkt att du läser handledningen för MongoDB PHP-drivrutin:http://us2. php.net/manual/en/mongo.tutorial.php
Detta borde förklara konceptet lite bättre, tillsammans med hur föraren fungerar :)