Cara menggunakan pecl mongodb

Berikut ini Cara Menghubungkan PHP Laravel dengan MongoDB untuk membuat CRUD. Keperluan mongodb untuk data yang bersifat NoSQL atau Not Only SQL sehingga data tidak harus memiliki relasi atau data normalisasi database struktur.

Setelah beberapa waktu yang lalu sudah membuat post mengenai Cara Install MongoDB di Windows dan Cara Install Laravel di Windows maka di kesempatan kali ini berkesempatan membagi cara Cara Menghubungkan Laravel dengan MongoDB hingga membuat aplikasi CRUD dengan database MongoDB.

Menghubungkan Laravel dengan MongoDB Database

Untuk menghubungkan database MongoDB dengan Laravel kita membutuhkan library tambahan dan extension PHP. di sini yang menggunakan PHP di Windows 10.

Mengaktifkan extension PHP database MongoDB

sebelum mengaktifkan extension MongoDB di PHP kalian download terlebih ke halaman https://pecl.php.net/package/mongodb

klik tombol DLL sesuaikan versinya diusahakan paling terbaru

Cara menggunakan pecl mongodb

atau jika bingung bisa langsung ke https://pecl.php.net/package/mongodb/1.13.0/windows

kemudian scroll bagian bawah, kemudian download sesuaikan versi dengan PHP, disini saya menggunakan versi 7.4 dan sistem operasi windows 10 64bit

Cara menggunakan pecl mongodb

pilih yang mana saja Non Thread Safe (NTS) atau Thread Safe (TS) jika kebutuhan untuk belajar di lokal dan bukan untuk release production, jika iya maka pilih Thread Safe (TS)

setelah di ekstrak maka kita extrak dimana saja dengan isi file php_mongodb.dll dan php_mongodb.pdb

Cara menggunakan pecl mongodb
pilih file php_mongodb.dll dan php_mongodb.pdb lalu copy paste simpan ke folder ext PHP biasanya file PHP dengan XAMPP ada di C:\xampp\php\ext atau jika kalian menggunakan Laragon bisa di copy dan di paste di folder path C:\laragon\bin\php\php-7.4.19-Win32-vc15-x64\ext

jika menggunakan PHP XAMPP copy dan paste di folder C:\xampp\php\ext

Cara menggunakan pecl mongodb

dan jika menggunakan PHP Laragon copy paste C:\laragon\bin\php\php-7.4.19-Win32-vc15-x64\ext

Cara menggunakan pecl mongodb

sesuaikan versinya php-7.4.19-Win32-vc15-x64 adalah versi di komputer saya jika tidak ada maka sesuaikan dengan php di komputer teman teman

selanjutnya mengedit php.ini bisanya berada di folder PHP versi (XAMPP)

composer create-project laravel/laravel:8 bealajar-mongodb-laravel
3 atau (Laragon)
composer create-project laravel/laravel:8 bealajar-mongodb-laravel
4

ubah file php.ini dengan tambahan

composer create-project laravel/laravel:8 bealajar-mongodb-laravel
5 usahakan di bawah tulisan Dynamic Extensions supaya rapi mudah dicari
Cara menggunakan pecl mongodb

setelah ditambahkan close program XAMPP atau Laragon teman teman dan start ulang kembali HTTP server Apache nya dan cek dengan membuat file php yang berisikan berikut:

<?php

print phpinfo();

?>

lalu buka filenya dengan menjalankan php di http browser seperti berikut download-extension-success-running-windows10.jpg

Cara menggunakan pecl mongodb

jika berhasil membuka halaman seperti gambar di atas makan temukan kata kunci mongo dengan CTRL + F dan ketikan mongo. jika menemukan maka mongoDB berhasil berjalan di php dan siap digunakan untuk Laravel

Menginstal Library di Laravel untuk MongoDB

library Laravel

composer create-project laravel/laravel:8 bealajar-mongodb-laravel
6 bisa dilihat https://github.com/jenssegers/laravel-mongodb untuk menambahkan ke project Laravel kita dengan menjalankan perintah composer seperti di bawah ini :

  1. Menginstall Laravel pertama kali, di sini menggunakan Laravel versi 8

composer create-project laravel/laravel:8 bealajar-mongodb-laravel

  1. Menambahkan Library MongoDB untuk Laravel, dengan versi sesuai versi Laravel 8 maka library menggunakan 3.8

composer require jenssegers/mongodb:3.8

  1. Menambahkan config MongoDB di file
    composer create-project laravel/laravel:8 bealajar-mongodb-laravel
    
    7 di path
    composer create-project laravel/laravel:8 bealajar-mongodb-laravel
    
    8 seperti berikut:

  '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' => [
          // here you can pass more settings to the Mongo Driver Manager
          // see https://www.php.net/manual/en/mongodb-driver-manager.construct.php under "Uri Options" for a list of complete parameters that you can use

          'database' => env('DB_DATABASE', 'admin'), // required with Mongo 3+
      ],
  ]

  1. Mengubah isi file
    composer create-project laravel/laravel:8 bealajar-mongodb-laravel
    
    9 disesuaikan dengan koneksi MongoDB kalian dan merubah value key
    composer require jenssegers/mongodb:3.8
    
    0 menjadi
    composer require jenssegers/mongodb:3.8
    
    1 MongoDB,

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

kosongkan

composer require jenssegers/mongodb:3.8
2
composer require jenssegers/mongodb:3.8
3 jika settingan mongodb tidak perlu autentikasi user, kondisi ini karena saya menggunakan mongodb di local pc saya dengan settingan tanpa username dan password jika teman - teman dengan settingan autentikasi sepeti contonya membuat konelsi ke mongodb.com maka isikan usename dan passwordnya konfigurasi mongodb teman teman.

  1. lalu jangan lupa tambahkan library
    composer create-project laravel/laravel:8 bealajar-mongodb-laravel
    
    6 di file
    composer require jenssegers/mongodb:3.8
    
    5 di path
    composer require jenssegers/mongodb:3.8
    
    6 seperti di bawah ini :

<?php

return [
    ....

    'providers' => [
        ....

        /*
         * Package Service Providers...
         */
        Jenssegers\Mongodb\MongodbServiceProvider::class,

        ....
    ],

    ....
];

Penjelasan

  • composer require jenssegers/mongodb:3.8
    
    7 : memanggil library di autoload Laravel, di bagian
    composer require jenssegers/mongodb:3.8
    
    8
  1. jika sudah maka kita optimasi library dengan cara jalankan perintah
    composer require jenssegers/mongodb:3.8
    
    9 di folder project

persiapan untuk membuat database MongoDB di Laravel

membuat database baru dengan nama

  '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' => [
          // here you can pass more settings to the Mongo Driver Manager
          // see https://www.php.net/manual/en/mongodb-driver-manager.construct.php under "Uri Options" for a list of complete parameters that you can use

          'database' => env('DB_DATABASE', 'admin'), // required with Mongo 3+
      ],
  ]
0 dan Collection name baru
  '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' => [
          // here you can pass more settings to the Mongo Driver Manager
          // see https://www.php.net/manual/en/mongodb-driver-manager.construct.php under "Uri Options" for a list of complete parameters that you can use

          'database' => env('DB_DATABASE', 'admin'), // required with Mongo 3+
      ],
  ]
1

Cara menggunakan pecl mongodb

Membuat CRUD di Laravel dengan MongoDB

setelah membuat database sebelumnya mari kita lanjutkan untuk mencoba simple CRUD untuk collection

  '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' => [
          // here you can pass more settings to the Mongo Driver Manager
          // see https://www.php.net/manual/en/mongodb-driver-manager.construct.php under "Uri Options" for a list of complete parameters that you can use

          'database' => env('DB_DATABASE', 'admin'), // required with Mongo 3+
      ],
  ]
1

Jelaskan langkah langkah dalam instalasi MongoDB?

Proses Install MongoDB.
jika sudah selali mendownload klik program yang berektensi .msi maka akan muncul tampilan sepeti di bawah ini..
selanjutnya centang box “I accept …".
selanjutnya klik tombol Complate..
klik tombol Next >.
jika teman teman ingin sembari melakukan instalasi MongoDB Compass bisa centang box..

Apa saja bahasa pemrograman yang didukung oleh MongoDB?

Sampai saat ini, bahasa pemrograman yang telah mendukung MongoDB antara lain: C, C++, C#, Haskell, Java, JavaScript, Lisp, Perl, PHP, Python, Ruby dan Scala.

Apakah MongoDB termasuk database?

MongoDB adalah database yang berorientasi pada dokumen. Data apa pun yang disimpan di dalam MongoDB itu berbentuk dokumen, bukan tabel. Dalam dokumen-dokumen tersebut, datamu disimpan dalam field, bukan baris atau kolom. Hal ini juga yang mendukung fleksibilitas MongoDB.