MongoDB nie przechowuj dane w formacie JSON.
Wklejony dokument wydaje się być kopią i wklejeniem z powłoki. To też nie jest format JSON. Ten format nazywa się Extended JSON - i tak właśnie powłoka MongoDB reprezentuje dane w javascript. Większość przykładów na stronie MongoDB również używa tego formatu, ponieważ jest prosty i łatwy. Więc zamiast mieć dziesiątki różnych formatów wyjściowych (dla każdego sterownika językowego), oficjalna dokumentacja MongoDB używa powłoki do demonstrowania funkcjonalności i wyników.
Faktyczny format podkładania nazywa się binarnym JSON (BSON). Nigdy nie zobaczysz tego formatu i nigdy nie będziesz z nim wchodzić w interakcje.
Kiedy wchodzisz w interakcję z MongoDB w PHP, wszystko co musisz wiedzieć, to że zapisujesz tablicę PHP. Dane zwracane z MongoDB są również tablicą PHP. Format dysku podkładowego nie ma znaczenia.
Nigdy nie musisz wywoływać json_encode() lub json_decode().
$collection->find($query)
Metoda zwraca obiekt o nazwie MongoCursor. Powinieneś iterować po tym obiekcie, aby uzyskać wyniki, które będą tablicą PHP.
foreach($collection->find($query) as $result) {
var_dump($result);
}
Ten przykładowy kod spowoduje wyświetlenie jednego wyniku var_dump() na raz. Ten result
nazywa się „Dokumentem MongoDB” i jest podobny do „wiersza MySQL”. Podobnie jak w przypadku MySQL, nie musisz wiedzieć, jaki jest protokół podkładowy ani jaki jest podkładowy format dysku — to nie ma na Ciebie wpływu.
Gorąco zachęcam do zapoznania się z samouczkiem MongoDB PHP Driver:http://us2. php.net/manual/en/mongo.tutorial.php
Powinno to nieco lepiej wyjaśnić koncepcję, a także sposób działania sterownika :)