Instal dan Konfigurasi MongoDB

Pada tutorial ini Anda akan banyak melakukan instalasi dan konfigurasi yang mungkin itu harus di lakukan, karena kalau Anda ingin menggunakan MongoDB maka harus memberikan ekstensi Data Definition Language (DDL) di PHP-Nya. Baik sekarang ikuti tutorial ini.

Daftar isi

Langkah 1 - Unduh dan Instal MongoDB

Hal pertama kali ialah menginstal aplikasi MongoDB Community silakan pilih platform seperti Windows, Linux, atau macOS. Setelah selesai mengunduh lakukan instalasi seperti aplikasi-aplikasi pada umumnya.

Langkah 2 - Unduh dan Konfigurasi Extension MongoDB

Berhatikan kalau MongoDB tidak akan pernah bisa digunakan kalau tidak menginstal package yang telah dikembangkan oleh PHP. Berikut ini tahapannya.

  1. Kunjungi Package MongoDB,
  2. Pilihlah versi terbaru dan stabil, setelah menemukannya klik tautan DDL,
  3. Pada bagian DDL List pilihlah versi PHP yang Anda pakai saat ini, dan
  4. Pilih unduhan yang Thread Safe (TS) baik 64 bit (x64) atau 32 bit (x86).

Selanjutnya lakukan konfigurasi berkas DDL MongoDB, sebagai berikut:

  1. Ekstrak berkas yang telah di unduh tersebut,
  2. Salin berkas php_mongodb.dll,
  3. Tempelkan berkas tersebut di direktori ../php\ext dan hal ini bisa ditemukan pada direktori Xampp atau Anda menginstal PHP secara manual,
  4. Buka berkas php.ini pada direktori ../php dan cari bagian Dynamic Extensions, dan
  5. Salin dan tempelkan skip ini extension=php_mongodb.dll pada berkas php.ini tersebut.

Sampai disinilah proses instalasi dan konfigurasi ekstensi MongoDB yang bisa di bilang agak sedikit ribet.

Catatan: Jangan lupa melakukan restart pada aplikasi peladen yang Anda gunakan baik seperti Xampp, Laragon, WampServer, atau melalui kustom PHP Composer.

Langkah 3 - Instal dan Konfigurasi Laravel MongoDB

Pada saat menggunakan MonggoDB Anda harus menginstal pustaka Laravel MongoDB yang mana akan memberikan Model Eloquent dan Query Builder berbasis MongoDB untuk Laravel. Karena bawaan Laravel baik Model Eloquent dan Query Builder menggunakan SQL bukan NoSQL, maka pustaka ini sangat membantu. Silakan instal melalui terminal Anda.

composer require jenssegers/mongodb

Catatan: Jika terjadi galat saat melakukan instalasi pustaka Laravel tersebut tambahkan baris perintah --ignore-platform-reqs, hal tersebut akan menjadi composer require jenssegers/mongodb --ignore-platform-reqs.

Selanjutnya tambahkan penyedia layanan pustaka MongoDB di berkas config/app.php.

'providers' => [
    /*
     * Package Service Providers...
     */
    Jenssegers\Mongodb\MongodbServiceProvider::class,
],

Langkah 4 - Menambah Drive Basis Data MongoDB

Masing belum selesai sampai di situ saja, Anda harus menambahkan drive ke berkas config/database.php. Salin dan tempelkan pada bagian connections skrip di bawah ini pada berkas tersebut.

'mongodb' => [
    'driver' => 'mongodb',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', 27017),
    'database' => env('DB_DATABASE', 'homestead'),
    'username' => env('DB_USERNAME', 'homestead'),
    'password' => env('DB_PASSWORD', 'secret'),
    'options' => [
        // required with Mongo 3+
        'database' => env('DB_AUTHENTICATION_DATABASE', 'admin'),
    ],
],

Selanjutnya baru menyetel pada berkas .env seperti berikut:

DB_CONNECTION=mongodb
DB_HOST=127.0.0.1
DB_PORT=27017
DB_DATABASE=tutorial_crud_laravel_mongodb
DB_USERNAME=
DB_PASSWORD=

Catatan: Ketika saya melakukan koneksi ke MongoDB, saya tidak melakukan konfigurasi username dan password. Hal tersebut benar-benar berhasil saya lakukan, apakah Anda juga seperti itu? kalau tidak lakukan diskusi.

Langkah 5 - Konfigurasi Model Product

Pada langkah ini silakan lakukan modifikasi terhadap kelas Model bawaan Laravel. Buka berkas Product.php pada direktori app/Models, salin dan sesuaikan dengan skrip di bawah ini.

// ...

use Jenssegers\Mongodb\Eloquent\Model;

class Product extends MongodbModel
{
    // ...

    protected $fillable =[
        'title', 'description', 'stock'
    ];
}

Jangan lupa untuk menambahkan skrip seperti di bawah ini untuk membuat kolom pada tabel, karena Anda akan menggunakan Eloquent bukan Query Builder.

protected $fillable =[
    'title', 'description', 'stock'
];

Langkah 6 - Membuat Basis Data dan Tabel di Aplikasi MongoDB

Buka aplikasi MongoDB Compass kemudian ikuti tahapan berikut:

  1. Tunggu memuat aplikasi selesai, lalu klik Connect dan tidak perlu mengisi pada bidang yang diterahkan,
  2. Klik tombol CREATE DATABASE untuk membuat basi data dan tabel pertama,
  3. Masukan Database Name dengan tutorial_crud_laravel_mongodb dan Collection Name dengan products, dan
  4. Klik tombol CREATE DATABASE dan tunggu hingga selesai.

Sampai disinilah instalasi dan konfigurasi MongoDB, sekarang Anda bisa langsung ke tahapan CRUD MongoDB.