MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Dekodowanie JSON przy użyciu PHP z Mongo

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 :)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy istnieje równoważne narzędzie, takie jak profiler sql dla mongodb?

  2. Suma w zagnieżdżonym dokumencie MongoDB

  3. Sortuj według długości tablicy

  4. Jak zmienić wszystkie elementy tablicy w dokumencie mongodb na określoną wartość?

  5. Czy ktoś zna działający przykład indeksu 2dsphere w pymongo?