Sự khác biệt giữa PHP và MongoDB là gì?

Khu đổi mới để thử nghiệm các công nghệ tiên tiến của chúng tôi trước khi chúng chính thức được tung ra thị trường
  • Các sự kiện trong Hệ sinh thái của chúng tôi Tìm tất cả các sự kiện dành riêng cho hệ sinh thái đối tác của chúng tôi. hội thảo trên web, hội nghị, v.v.
  • Đào tạo & Chứng nhận Phát triển kiến ​​thức chuyên môn của bạn với chương trình đào tạo và chứng chỉ dành cho các thành viên Chương trình Đối tác OVHcloud.
  • Truy cập nhanh

    • Tìm một người bạn đồng hành
    • Đăng ký Chương trình Đối tác OVHcloud
    • Đăng ký Chương trình Khởi động OVHcloud
    • So sánh giá
    • Cổng đối tác
    • Câu hỏi thường gặp Chương trình đối tác
  • Về
    • Quay lại trình đơn
    • Về

      Về
      • Chúng ta là ai
      • Tin tức
      • trung tâm dữ liệu của chúng tôi
      • Tham gia cuộc phiêu lưu OVHcloud
      • Cam kết bằng sáng chế
      • Hợp pháp
    • Truy cập nhanh

      • Thông tin thêm về OVHcloud
      • Quan hệ đầu tư
    1. Tài liệu và Hướng dẫn
    2. Đám mây công cộng
    3. cơ sở dữ liệu
    4. MongoDB - Kết nối với PHP

    MongoDB - Kết nối với PHP

    Kết nối với Cơ sở dữ liệu đám mây công cộng của bạn cho MongoDB bằng ngôn ngữ lập trình PHP

    Đóng góp

    Chia sẻ

    Twitter Facebook LinkedIn

    In

    Cập nhật lần cuối ngày 27 tháng 7 năm 2022

    Khách quan

    Cơ sở dữ liệu đám mây công cộng cho phép bạn tập trung vào việc xây dựng và triển khai các ứng dụng đám mây trong khi OVHcloud chăm sóc cơ sở hạ tầng cơ sở dữ liệu và bảo trì trong điều kiện hoạt động

    Hướng dẫn này giải thích cách kết nối với phiên bản cơ sở dữ liệu MongoDB bằng một trong những ngôn ngữ lập trình nổi tiếng nhất thế giới. PHP

    Bạn có thể tìm thấy một ví dụ trên kho lưu trữ ví dụ Github

    Yêu cầu

    • Dự án Đám mây Công cộng trong tài khoản OVHcloud của bạn
    • Truy cập vào Bảng điều khiển OVHcloud
    • Cơ sở dữ liệu MongoDB chạy trên Cơ sở dữ liệu đám mây công cộng OVHcloud của bạn (hướng dẫn này có thể giúp bạn đáp ứng yêu cầu này)
    • Định cấu hình phiên bản MongoDB của bạn để chấp nhận các kết nối đến
    • Môi trường PHP với phiên bản ổn định và kết nối mạng công cộng (Internet). Hướng dẫn này được thực hiện trong PHP 7. 4

    Ý tưởng

    Một phiên bản MongoDB có thể được quản lý theo nhiều cách. Một trong những cách dễ nhất nhưng mạnh mẽ nhất là sử dụng Giao diện dòng lệnh (CLI), như được hiển thị trong hướng dẫn của chúng tôi. Kết nối với MongoDB bằng CLI

    Một cách khác là tương tác trực tiếp bằng ngôn ngữ lập trình, chẳng hạn như PHP. PHP được sử dụng trong gần 80% các trang web trên thế giới, chẳng hạn như Facebook, Wikipedia hay WordPress. MongoDB cung cấp trình điều khiển PHP, cho phép chúng tôi kết nối và quản lý phiên bản MongoDB từ mã

    Để làm như vậy, chúng tôi sẽ cần thiết lập môi trường PHP với trình điều khiển MongoDB, sau đó định cấu hình Cơ sở dữ liệu đám mây công cộng của chúng tôi cho các phiên bản MongoDB để chấp nhận các kết nối đến và cuối cùng viết mã bằng PHP để thực hiện một số hành động ví dụ

    Hướng dẫn

    Thiết lập môi trường PHP của bạn

    Để tương tác với phiên bản MongoDB của bạn bằng PHP, môi trường phát triển của bạn cần được cấu hình với

    • Một phiên bản tương thích của PHP;
    • Phần mở rộng MongoDB PHP;
    • Khuyến khích mạnh mẽ. thư viện MongoDB PHP

    Vui lòng theo dõi tài liệu MongoDB chính thức dành cho trình điều khiển PHP để nhận thông tin mới nhất

    Ở cuối trang tài liệu, bạn sẽ tìm thấy ma trận tương thích giữa các phiên bản PHP, tiện ích mở rộng MongoDB và phiên bản thư viện. Thực hiện theo điều này cho phù hợp

    Nếu bạn có thể tự chỉnh sửa môi trường PHP của mình, hãy cài đặt các tiện ích mở rộng và thư viện như được nêu chi tiết trong trang tài liệu này được liên kết ở trên

    Ngược lại, nếu bạn hưởng lợi từ giải pháp lưu trữ web được quản lý, chẳng hạn như dịch vụ Lưu trữ web của OVHcloud, bạn cần kích hoạt phiên bản PHP phù hợp trên gói lưu trữ web của mình. Bạn có thể tìm thấy hướng dẫn về cách sửa đổi phiên bản PHP cho Dịch vụ lưu trữ web OVHcloud tại đây

    Trong cả hai trường hợp, khi thực thi phpinfo() trong môi trường PHP của bạn, bạn sẽ thấy thông tin về trình điều khiển MongoDB như hình bên dưới

    Sự khác biệt giữa PHP và MongoDB là gì?

    Bây giờ chúng ta sẽ làm theo tài liệu chính thức của MongoDB để thực hiện kết nối đầu tiên với PHP

    Kết nối với PHP

    Trong môi trường PHP của bạn, hãy thử kết nối. Để chắc chắn rằng chúng tôi thực sự được kết nối, chúng tôi sẽ kết xuất tất cả thông tin phiên bản MongoDB

    Như được hiển thị trong mã, chúng tôi sử dụng MongoDB\Driver\Manager. Sử dụng tài liệu PHP chính thức cho tài liệu đầy đủ. https. //www. php. mạng/thủ công/vi/bộ. mongodb. php

    <?php
       // PHP version 7.4 used here
        try {
            // connect to OVHcloud Public Cloud Databases for MongoDB (cluster in version 4.4, MongoDB PHP Extension in 1.8.1)
            $m = new MongoDB\Driver\Manager('mongodb+srv://<username>:<password>@mongodb-e49d02ee-o2626ab53.database.cloud.ovh.net/admin?replicaSet=replicaset');
            echo "Connection to database successfully";
            // display the content of the driver, for diagnosis purpose
            var_dump($m);
        }
        catch (Throwable $e) {
            // catch throwables when the connection is not a success
            echo "Captured Throwable for connection : " . $e->getMessage() . PHP_EOL;
        }
    ?>
    

    Nếu bạn đã kết nối, kết quả của var_dump($m) sẽ như thế này

    Object(MongoDB\Driver\Manager)#1 (2) {
      ["uri"]=>
      string(100) "mongodb+srv://<username>:<password>@mongodb-e49d02ee-o2626ab53.database.cloud.ovh.net/admin?replicaSet=replicaset"
      ["cluster"]=>
      array(1) {
        [0]=>
        array(10) {
          ["host"]=>
          string(45) "node1-e49d02ee-o2626ab53.database.cloud.ovh.net"
          ["port"]=>
          int(27017)
          ["type"]=>
          int(4)
          ["is_primary"]=>
          bool(true)
          ["is_secondary"]=>
          bool(false)
    
    (more data, cut for the example)
    
        }
      }
    }
    

    Nếu var_dump($m) trống, bạn sẽ phải phân tích ma trận tương thích Môi trường PHP và MongoDB được liên kết trước đó và các vật ném được

    • hết thời gian kết nối. thường là do ủy quyền IP không chính xác
    • không gian tên không hợp lệ. URI dịch vụ bạn đã nhập có thể có lỗi đánh máy bên trong

    Sau khi kết nối, bạn có thể thực hiện nhiều thao tác, ví dụ: chèn hàng loạt và tìm () bên trong bộ sưu tập

    <?php
        try {
            // Bulk write inserts
            $bulk = new MongoDB\Driver\BulkWrite;
            $bulk->insert(['mydata' => 'alice']);
            $bulk->insert(['mydata' => 'bob']);
            $bulk->insert(['mydata' => 'bastien']);
            $m->executeBulkWrite('mydb.mycol', $bulk);
    
            $filter = ['mydata' => 'bob'];
            $options = [];
    
            // Query to find inserts in a specific collection
            $query = new MongoDB\Driver\Query($filter, $options);
            $cursor = $m->executeQuery('mydb.mycol', $query);
    
            foreach ($cursor as $document) {
                var_dump($document);
            }
        }
        catch (Throwable $e) {
            echo "Captured Throwable: for insert : " . $e->getMessage() . PHP_EOL;
        }
    ?>
    

    Trong ví dụ này, chúng tôi chèn 3 đối tượng bên trong một bộ sưu tập có tên là mycol, sau đó chúng tôi thực hiện thao tác find() trong bộ sưu tập này, tìm kiếm tất cả các đối tượng có chứa "bob"

    Kết quả ở đây là cho var_dump($document)

    object(stdClass)#6 (2) {
      ["_id"]=>
      object(MongoDB\BSON\ObjectId)#7 (1) {
        ["oid"]=>
        string(24) "6139d5163d84c01fa93e2e53"
      }
      ["mydata"]=>
      string(3) "bob"
    }
    

    Mã này đã tìm thấy chính xác một đối tượng chứa bob. Điều đó có nghĩa là ở đây chúng tôi đã có thể kết nối với phiên bản MongoDB, chèn dữ liệu và tìm kiếm dữ liệu này. Xin chúc mừng. Mọi thứ đều hoạt động bình thường

    Các khung và công cụ PHP cho MongoDB

    Viết mã PHP từ đầu để tương tác với một phiên bản MongoDB có thể rất thú vị và mang tính hướng dẫn. Nếu bạn quan tâm, bạn cũng có thể xem danh sách MongoDB PHP cho các thư viện, khung và công cụ. Họ thực sự có thể giúp bạn làm việc với PHP

    Đi xa hơn

    Khả năng của MongoDB

    Định cấu hình vRack cho Đám mây công cộng

    Ghé thăm kênh Discord chuyên dụng của chúng tôi. https. // bất hòa. gg/ovhcloud. Đặt câu hỏi, cung cấp phản hồi và tương tác trực tiếp với nhóm xây dựng các dịch vụ cơ sở dữ liệu của chúng tôi

    Tham gia cộng đồng người dùng của chúng tôi trên https. //cộng đồng. ồ. com/vi/


    Bạn có thấy hướng dẫn này hữu ích không?

    có không

    Vui lòng đưa ra bất kỳ đề xuất nào để cải thiện tài liệu này

    Mọi phản hồi của bạn về hình ảnh, nội dung hay cấu trúc, hãy chia sẻ để chúng ta cùng nhau hoàn thiện

    PHP hay MongoDB cái nào tốt hơn?

    Không chỉ cả hai loại có thể được sử dụng như một mảng mà chúng còn có thể cùng tồn tại trong cùng một mảng. Ngoài ra, PHP không có khả năng có các mảng không có thứ tự. MongoDB sử dụng JSON cho kho lưu trữ dữ liệu của nó, vốn không có chung các thuộc tính này .

    MongoDB có được sử dụng với PHP không?

    Bạn có thể thêm trình điều khiển vào ứng dụng của mình để hoạt động với MongoDB trong PHP . Trình điều khiển MongoDB PHP bao gồm hai thành phần sau. Tiện ích mở rộng , cung cấp API cấp thấp và chủ yếu dùng để tích hợp libmongoc và libbson với PHP.

    Làm cách nào để thiết lập PHP với MongoDB?

    Bắt đầu thiết lập để chạy PHP với MongoDB .
    điều kiện tiên quyết
    Cài đặt
    Cài đặt Apache
    đang cài đạt PHP
    Cài đặt tiện ích mở rộng PHP
    Cài đặt thư viện MongoDB PHP
    Bắt đầu cụm MongoDB trên Atlas
    Bảo mật tên người dùng và mật khẩu

    MongoDB so với MySQL là gì?

    MongoDB là một hệ thống quản lý cơ sở dữ liệu phi quan hệ dựa trên tài liệu. Nó còn được gọi là một hệ thống dựa trên đối tượng. Nó được thiết kế để thay thế cấu trúc MySQL như một cách dễ dàng hơn để làm việc với dữ liệu. Mặt khác, MySQL là một hệ thống dựa trên bảng (hoặc cơ sở dữ liệu quan hệ nguồn mở)