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.
Di kesempatan kali saya berbagi pengalaman untuk melakukan install MongoDB di sistem operasi windows 10 sampai bisa menjalankan MongoDB di CMD atau membuka mongo shell untuk melakukan perintah dasar mongodb,
selain menggunakan CMD atau shell bisa menggunakan MongoDB compass yang memiliki tampilan interface.
Pendahuluan
Tutorial singkat ini akan membahas instalasi database MongoDB untuk bahasa PHP pada berbagai sistem operasi, seperti *NIX, Windows, Linux dan lainnya. Untuk dapat mengikuti tutorial ini, selayaknya anda harus mengenal apa itu PHP dan apa itu MongoDB. Semua ekstension MongoDB untuk PHP dapat anda ikuti pengembangannya dan dapat anda
unduh dari:
http://github.com/mongodb/ dan http://github.com/mongodb/mongo-php-driver/downloads
Instalasi MongoDB di *NIX/Linux dengan PECL
Instalasi mongodb pada sistem *NIX dapat dilakukan via bundle PECL untuk PHP, cukup jalankan pecl untuk menginstallnya dengan perintah: sudo pecl install mongo
Khusus untuk distribusi Linux, anda bisa gunakan installer masing-masing, bisa apt-get, urpmi, yum, atau RPM saja. NB. Pastikan repository Linux anda terkoneksi dan terdapat paket MongoDB!
Pengaktifan module MongoDB di PHP dapat dilakukan dengan menulisextension=mongo.so pada file PHP.ini anda.
Instalasi MongoDB di Mac OS X dengan PECL
Instalasi MongoDB disini menggunakan PECL dari paket XAMPP (MAMP) yang terpasang
pada sistem Mac OS X. Untuk menginstal mongodb, cukup dengan perintahsudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo
Instalasi MongoDB di Windows
Terlebih dulu anda harus memilih file ekstension PHP yang sesuai dengan versi PHP yang anda pakai, dari sini:
- » PHP 5.2 VC6 Non-Thread-Safe Mongo extension
- » PHP 5.2 VC6 Thread-Safe Mongo extension
- » PHP 5.3 VC6 Non-Thread-Safe Mongo extension
- » PHP 5.3 VC6 Thread-Safe Mongo extension
- » PHP 5.3 VC8 Non-Thread-Safe Mongo extension
- » PHP 5.3 VC8 Thread-Safe Mongo extension
- » PHP 5.3 VC9 Non-Thread-Safe Mongo extension
- » PHP 5.3 VC9 Thread-Safe Mongo extension
Unduh salah satu yang sesuai, ekstrak ke direktori ekstension PHP dan ubah PHP.ini sehingga extension=php_mongo.dll aktif.
Pada kesempatan kali ini, saya ingin menulis tutorial sederhana bagaimana cara membuat kode program yang dapat digunakan untuk melakukan insert data ke database mongodb menggunakan PHP. Tutorial ini merupakan kelanjutan dari tulisan sebelumnya yang membahas tentang cara melakukan koneksi ke database mongodb menggunakan PHP.
Berikut ini merupakan langkah-langkah untuk membuat kode program insert data ke database mongodb :
- Buatlah database
baru melalui mongodb shell, detailnya adalah sebagai berikut :
/**
Berikut ini merupakan query pada mongodb shell
*/
localhost:~ wongkebumen$ mongo
MongoDB shell version: 2.6.7
connecting to: test
// bikin database baru yang bernama "wongkebumen"
> use wongkebumen
switched to db wongkebumen
// menampilkan collection yang terdapat pada database wongkebumen
// istilah collection ibarat tabel kalau pada database relational> show collections
system.indexes
wongkebumen
// bikin collection baru dengan nama "profil"
> db.createCollection("profil")
{ "ok" : 1 }
> show collections
profil
system.indexes
wongkebumen
// insert data pakai variabel, variabelnya disini adalah "masukindata"
> masukindata = ({"nama" : "Bakulotek", "Alamat" : "Kroya", "Pekerjaan" : "Jualan Lotek Keliling"})
{
"nama" : "Bakulotek",
"Alamat" : "Kroya",
"Pekerjaan" : "Jualan Lotek Keliling"
}
// proses insert data ke collection "profil"
> db.profil.insert(masukindata)
WriteResult({ "nInserted" : 1 })
// menampilkan isi collection "profil"
> db.profil.find()
{ "_id" : ObjectId("54c3c6078941053370b51f06"), "nama" : "Bakulotek", "Alamat" : "Kroya", "Pekerjaan" : "Jualan Lotek Keliling" }
// insert data tanpa variabel
> db.profil.insert({"nama" : "Sopanudin", "Alamat" : "Kutowinangun", "Pekerjaan" : "Mahasiswa"})
WriteResult({ "nInserted" : 1 })
> db.profil.find()
{ "_id" : ObjectId("54c3c6078941053370b51f06"), "nama" : "Bakulotek", "Alamat" : "Kroya", "Pekerjaan" : "Jualan Lotek Keliling" }
{ "_id" : ObjectId("54c3c71b8941053370b51f07"), "nama" : "Sopanudin", "Alamat" : "Kutowinangun", "Pekerjaan" : "Mahasiswa" }
>
- Selanjutnya buatlah kode program dengan PHP untuk memasukkan data secara statis ke database mongodb. Data yang akan dimasukkan bersifat statis, maka harus dideklarasikan terlebih dahulu pada kode programnya.
/**
Tutorial Pemrograman dan Artikel Gratis
hanya di blog.wongkebumen.com
email :
Simpan file ini dengan nama : insert.php
*/
$server = "mongodb://localhost:27017/wongkebumen";try{
// konek ke server
$koneksi = new MongoClient( $server );
}catch(MongoConnectionException $konekException){
print $konekException;
exit;
}
// Data yang akan dimasukkan
$data = array(
"nama" => "Dedi",
"Alamat" => "Buayan",
"Pekerjaan" => "Montir Gahul"
);
// konek ke database wongkebumen
try{
$db = $koneksi->wongkebumen;
// ambil data collection
$collection = $db->profil;
}catch(MongoException $mongoException){
print $mongoException;
exit;
}
try{
// masukkan data ke collection "profil"
$ret = $collection->insert($data);
}catch(MongoCursorException $mongoCursorException){
echo $mongoCursorException;
exit;
}
if(is_array($ret)) {
if($ret["ok"])
echo "Dokumen berhasil dimasukkan database";
else
echo "Dokumen gagal dimasukkan ke database";
}else {
if($ret)
echo "Dokumen berhasil dimasukkan database";
else
echo "Dokumen gagal dimasukkan ke database";
}
// data array yang akan dimasukkan
$data = array(
array(
"nama" => "Zaenul",
"Alamat" => "Cilacap",
"Pekerjaan" => "Dinas Sosial"
),
array(
"nama" => "ikhsan",
"Alamat" => "Sokka",
"Pekerjaan" => "Advocat"
)
);
try{
// masukkan data ke collection "profil"
$ret = $collection->batchInsert($data);
}catch(MongoCursorException $mongoCursorException){
echo $mongoCursorException;
exit;
}
if(is_array($ret)) {
if($ret["ok"])
echo "
Batch insert berhasil";
else
echo "
Batch insert gagal";
}else {
if($ret)
echo "
Batch insert berhasil";
else
echo "
Batch insert gagal";
}
?>
- Simpan kode program PHP tersebut dengan nama insert.php
- Jalankan insert.php, sehingga tampilan apabila berhasil akan seperti berikut ini :
|
Gambar 2 : Insert Data ke MongoDB dengan PHP
|
- Sedangkan tampilan pada mongodb shell adalah sebagai berikut :
|
Gambar 3 : Tampilan Collection "profil" setelah memproses kode program PHP
|
Semoga tutorial insert data ini bermanfaat bagi para pemula yang ingin mendalami PHP dan MongoDB. Sampai jumpa pada tutorial PHP dan MongoDB selanjutnya.
Referensi :
- http://docs.mongodb.org/manual/reference/method/db.createCollection/
- David Hows, dkk "The Definitive Guide to MongoDB"