MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Memulai dengan PHP dan MongoDB

ScaleGrid adalah solusi pengelolaan MongoDB untuk cloud publik. MongoDB (dari “humongous”) adalah database NoSQL open source yang skalabel, berkinerja tinggi, dan 10gen.

ScaleGrid akan membantu Anda menyediakan, mengonfigurasi ketersediaan tinggi dan pemulihan bencana, deprovision, memantau, meningkatkan, mengkloning, mencadangkan, dan memulihkan penerapan MongoDB Anda di AWS, Azure, dan DigitalOcean. Salah satu keuntungan ScaleGrid adalah memberi Anda akses SSH penuh ke instance Anda. Ini memungkinkan Anda untuk menjalankan server PHP Anda di mesin yang sama dengan server MongoDB Anda, manfaat yang sangat berguna untuk skenario pengembangan dan pengujian. Dalam tutorial ini, kami akan menunjukkan kepada Anda dalam lima langkah sederhana cara menyiapkan server PHP dan server MongoDB Anda di mesin yang sama.

  1. Buat Instans MongoDB Anda di ScaleGrid

    Ikuti petunjuk memulai di sini untuk membuat kumpulan mesin Anda, membuat instance MongoDB, mengambil kredensial SSH dan SSH ke dalam instance, atau lihat dokumentasi Buat Cluster MongoDB kami.

  2. Hubungkan ke MongoDB dan Isi Data Anda

    SSH ke dalam instance MongoDB Anda. Hubungkan ke instans MongoDB lokal Anda menggunakan klien mongo bawaan dan jalankan beberapa kueri:

    
    /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
    }
    

    Mari kita buat database dummy dan masukkan beberapa data ke dalam koleksi. "Koleksi" setara dengan tabel relasional. Koleksi dapat berisi banyak "dokumen" yang setara dengan baris di dunia relasional.

    >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. Siapkan Server PHP Anda

    Jika Anda sudah memiliki server PHP yang berjalan di mesin yang terpisah dari server MongoDB, Anda dapat melewati langkah ini dan melanjutkan ke langkah 4. Jika Anda tidak memiliki server PHP , Anda dapat menginstal server PHP di mesin MongoDB. Ini adalah salah satu manfaat memiliki akses SSH penuh ke mesin MongoDB Anda:

    [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. Instal Ekstensi Mongo PHP

    Dukungan MongoDB di PHP adalah melalui ekstensi Mongo PHP. Anda dapat  menginstalnya menggunakan penginstal 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. Jalankan Kode PHP

    Ambil string koneksi MongoDB dari konsol ScaleGrid di tab detail di bagian bawah layar. Jika Anda menjalankan kode PHP pada kotak yang sama, Anda dapat menggunakan 127.0.0.1.

    Mari kita menulis beberapa kode PHP untuk menanyakan dokumen dalam koleksi yang baru saja kita buat. Buat file bernama test.php dan masukkan kode di bawah ini ke dalam file. Jalankan kode menggunakan “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());
    }
    
    ?>
    

Untuk instruksi dan contoh yang lebih detail, lihat dokumentasi 10gen tentang penggunaan PHP dengan Mongo.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Buat Indeks Teks Wildcard di MongoDB

  2. Memperbaiki Kesalahan Halaman di MongoDB

  3. Memformat Angka sebagai Mata Uang dalam SQL

  4. Bagaimana cara menggunakan data pegas mongo @CompoundIndex dengan sub koleksi?

  5. Integrasi &Layanan Tersedia dari MongoDB untuk Cloud