MongoDB không không lưu trữ dữ liệu dưới dạng JSON.
Tài liệu bạn đã dán dường như được sao chép và dán từ shell. Đây cũng không phải là định dạng JSON, định dạng này được gọi là Extended JSON - và là cách trình bao MongoDB đại diện cho dữ liệu trong javascript. Hầu hết các ví dụ trên trang web MongoDB cũng sử dụng định dạng này vì nó đơn giản và dễ dàng. Vì vậy, thay vì có hàng chục định dạng đầu ra khác nhau (cho mỗi trình điều khiển ngôn ngữ), các tài liệu chính thức của MongoDB sử dụng trình bao để thể hiện chức năng và đầu ra.
Định dạng lớp lót thực tế được gọi là Binary JSON (BSON). Bạn sẽ không bao giờ thấy định dạng này và bạn sẽ không bao giờ tương tác với nó.
Khi bạn tương tác với MongoDB trong PHP, tất cả những gì bạn phải biết là bạn lưu một mảng PHP. Dữ liệu trả về từ MongoDB cũng là một mảng PHP. Định dạng đĩa lót không liên quan.
Bạn không bao giờ phải gọi json_encode () hoặc json_decode ().
$collection->find($query)
phương thức trả về một đối tượng được gọi là MongoCursor. Bạn nên lặp lại đối tượng này để nhận kết quả, đối tượng này sẽ là một mảng PHP.
foreach($collection->find($query) as $result) {
var_dump($result);
}
Ví dụ mã này sẽ var_dump () một kết quả tại một thời điểm. result
này được gọi là "Tài liệu MongoDB" và tương tự như "hàng MySQL". Cũng giống như với MySQL, bạn không cần phải biết giao thức lớp dưới là gì hoặc định dạng đĩa lớp dưới là gì - điều đó không ảnh hưởng đến bạn.
Tôi thực sự khuyên bạn nên đọc hướng dẫn Trình điều khiển PHP MongoDB: http:// us2. php.net/manual/en/mongo.tutorial.php
Điều này sẽ giải thích khái niệm tốt hơn một chút, cùng với cách trình điều khiển hoạt động :)