MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Bắt đầu với PHP và MongoDB

ScaleGrid là giải pháp quản lý MongoDB cho các đám mây công cộng. MongoDB (từ “humongous”) là một cơ sở dữ liệu NoSQL mã nguồn mở, hiệu suất cao, có thể mở rộng của 10gen.

ScaleGrid sẽ giúp bạn cung cấp, định cấu hình tính khả dụng cao và khôi phục sau thảm họa, hủy cấp phép, giám sát, nâng cấp, sao chép, sao lưu và khôi phục các triển khai MongoDB của bạn trên AWS, Azure và DigitalOcean. Một trong những ưu điểm của ScaleGrid là nó cung cấp cho bạn toàn quyền truy cập SSH vào các phiên bản của bạn. Điều này cho phép bạn chạy máy chủ PHP của mình trên cùng một máy với máy chủ MongoDB, một lợi ích cực kỳ hữu ích cho các kịch bản thử nghiệm và nhà phát triển. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn năm bước đơn giản về cách thiết lập máy chủ PHP và máy chủ MongoDB của bạn trên cùng một máy.

  1. Tạo phiên bản MongoDB của bạn trên ScaleGrid

    Làm theo hướng dẫn bắt đầu tại đây để tạo nhóm máy của bạn, tạo phiên bản MongoDB, truy xuất thông tin đăng nhập SSH và SSH vào phiên bản hoặc xem tài liệu Tạo cụm MongoDB của chúng tôi.

  2. Kết nối với MongoDB và điền dữ liệu của bạn

    SSH vào phiên bản MongoDB của bạn. Kết nối với phiên bản MongoDB cục bộ của bạn bằng ứng dụng mongo tích hợp sẵn và loại bỏ một số truy vấn:

    
    /usr/bin/mongo
    MongoDB shell version: 2.0.7
    connecting to: test
    >show dbs
    config  (empty)
    local   (empty)
    >db.version()
    2.0.7
    >db.stats()
    {
    "db" : "test",
    "collections" : 0,
    "objects" : 0,
    "avgObjSize" : 0,
    "dataSize" : 0,
    "storageSize" : 0,
    "numExtents" : 0,
    "indexes" : 0,
    "indexSize" : 0,
    "fileSize" : 0,
    "nsSizeMB" : 0,
    "ok" : 1
    }
    

    Hãy tạo cơ sở dữ liệu giả và chèn một số dữ liệu vào bộ sưu tập. “Bộ sưu tập” tương đương với các bảng quan hệ. Một tập hợp có thể chứa nhiều “tài liệu” tương đương với các hàng trong thế giới quan hệ.

    >use testdb
    switched to db testdb
    >db.testcollection.insert({"name":"blah", "value":"humbug"});
    >db.testcollection.insert({"name":"blah1", "value":"humbug1"});
    >db.find();
    { "_id" : ObjectId("50db292013d7f5d141a9cbfb"), "name" : "blah", "value" : "humbug" }
    { "_id" : ObjectId("50db292913d7f5d141a9cbfc"), "name" : "blah1", "value" : "humbug1" }
    
  3. Thiết lập máy chủ PHP của bạn

    Nếu bạn đã có máy chủ PHP chạy trên một máy tách biệt với máy chủ MongoDB của mình, bạn có thể bỏ qua bước này và chuyển sang bước 4. Nếu bạn không có máy chủ PHP , bạn có thể cài đặt một máy chủ PHP trên máy MongoDB. Đây là một trong những lợi ích của việc có toàn quyền truy cập SSH vào các máy MongoDB của bạn:

    [root@ip-10-29-173-18 ~]#yum install httpd php
    [root@ip-10-29-173-18 ~]#chkconfig httpd on
    [root@ip-10-29-173-18 ~]#service httpd start
    
  4. Cài đặt phần mở rộng Mongo PHP

    Hỗ trợ MongoDB trong PHP thông qua phần mở rộng Mongo PHP. Bạn có thể cài đặt nó bằng trình cài đặt PECL:

    [root@ip-10-29-173-18 ~]#yum install php-pear
    [root@ip-10-29-173-18 ~]#yum install php-devel
    [root@ip-10-29-173-18 ~]#yum install make
    [root@ip-10-29-173-18 ~]#pecl install mongo
    [root@ip-10-29-173-18 ~]#echo "extension=mongo.so" >> /etc/php.ini
    [root@ip-10-29-173-18 ~]#/etc/init.d/httpd restart
    
  5. Chạy mã PHP

    Lấy chuỗi kết nối MongoDB từ bảng điều khiển ScaleGrid trong tab chi tiết ở cuối màn hình. Nếu bạn đang chạy mã PHP của mình trên cùng một hộp, bạn có thể sử dụng 127.0.0.1.

    Hãy viết một số mã PHP để truy vấn các tài liệu trong bộ sưu tập mà chúng tôi vừa tạo. Tạo một tệp có tên test.php và đặt đoạn mã bên dưới vào tệp. Chạy mã bằng cách sử dụng “php test.php”.

    <?php
    try {
      // open connection to MongoDB server
      $conn = new Mongo('<connection string>');
    
      // access database
      $db = $conn->testdb;
    
      // access collection
      $collection = $db->testcollection;
    
      // execute query
      // retrieve all documents
      $cursor = $collection->find();
    
      // iterate through the result set
      // print each document
      echo $cursor->count() . ' document(s) found.
    ';
      foreach ($cursor as $obj) {
        echo 'Name: ' . $obj['name'] . '
    ';
        echo 'Value: ' . $obj['value'] . '
    ';
        echo '
    ';
      }
    
      // disconnect from server
      $conn->close();
    } catch (MongoConnectionException $e) {
      die('Error connecting to MongoDB server');
    } catch (MongoException $e) {
      die('Error: ' . $e->getMessage());
    }
    
    ?>
    

Để có hướng dẫn và ví dụ chi tiết hơn, hãy tham khảo tài liệu 10gen về cách sử dụng PHP với Mongo.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb có đang chạy không?

  2. MongoDB:Sử dụng ID của tài liệu ở nơi công cộng có an toàn không?

  3. Cơ sở dữ liệu đám mây tự làm trên Amazon Web Services - Sách trắng mới

  4. Cách quản lý mẫu cấu hình cho cơ sở dữ liệu của bạn với ClusterControl

  5. Kết nối với MongoDB Atlas bằng Golang mgo:Liên tục không có máy chủ nào có thể truy cập được để đặt bản sao