Ada beberapa kekurangan dalam database SQL yang pernah saya temukan, seperti skema database yang kaku [fixed], susah membuat query untuk tabel dengan relasi yang kompleks, susah diperbesar sekalanya, dsb.
Database NoSQL [Not Only SQL] hadir untuk menutupi kekurangan-kekurangan tersebut. Selain itu, NoSQL sudah menjadi tuntutan teknologi yang harus dipelajari dalam pengembangan software modern masa kini.
Contohnya, sekarang lagi populer yang namanya MEAN stack [MongoDB, ExpressJs, AngularJS, dan NodeJS].
Pada artikel ini, kita akan belajar MongoDB yang merupakan salah satu database NoSQL paling populer.
Apa itu MongoDB?
MongoDB adalah salah satu jenis database NoSQL yang berbasis dokumen dengan fomat JSON.
Pada database SQL, data disimpan dalam bentuk tabel. Sedangkan pada MongoDB data disimpan dalam bentuk dokumen dengan format JSON.
Contoh data di MongoDB:
{
"_id" : ObjectId["54c955492b7c8eb21818bd09"],
"alamat" : {
"street" : "2 Avenue",
"zipcode" : "10075",
"building" : "1480",
"coord" : [ -73.9557413, 40.7720266 ]
},
"borough" : "Manhattan",
"cuisine" : "Italian",
"grades" : [
{
"date" : ISODate["2014-10-01T00:00:00Z"],
"grade" : "A",
"score" : 11
},
{
"date" : ISODate["2014-01-16T00:00:00Z"],
"grade" : "B",
"score" : 17
}
],
"name" : "Vella",
"restaurant_id" : "41704620"
}
Untuk lebih jelasnya, mari kita langsung praktek…
Instalasi MongoDB di Linux
Jika kita ingin menggunakan MongoDB versi terbaru, maka kita harus men-download versi terakhir di website reseminya [ mongodb.com].
Tapi, jika ingin menggunakan versi lama yang ada di repositori, kita bisa menginstalnya dengan perintah:
sudo apt install mongodb
Setelah itu, untuk memastikan sudah terinstal dengan benar, coba ketik perintah
sudo service mongodb start
9 atau sudo service mongodb stop
0 untuk memeriksa versinya.Untuk keperluan belajar dasar, kita bisa pakai yang mana saja. Versi lama atau versi baru tidak masalah.
Pada panduan ini, saya menggunakan versi yang lama.
Cara Mengoperasikan MongoDB
Ada beberapa perintah yang disediakan MongoDB untuk mengoperasikannya, seperti perintah
sudo service mongodb stop
1 [MongoDB Daemon] untuk membuat server dan sudo service mongodb stop
2 untuk masuk ke Shell MongoDB.Menghidupkan dan Mematikan Server MongoDB
Kita bisa menghidupkan dan mematikan server MongoDB dengan perintah
sudo service mongodb stop
3 di Ubuntu dan keluarga Debian lainnya.Menyalakan server MongoDB:
sudo service mongodb start
Mematikan server MongoDB:
sudo service mongodb stop
Menyalakan ulang server MongoDB:
sudo service mongodb restart
Melihat status server MongoDB:
sudo service mongodb status
Gunakan tombol
sudo service mongodb stop
4 untuk keluar dari status.Selain itu, kita juga bisa menggunakan perintah
sudo service mongodb stop
1 dengan syarat harus ditentukan sudo service mongodb stop
6-nya.Contoh:
Matikan dulu server yang sudah berjalan:
sudo service mongodb stop
Setelah itu buat direktori baru untuk menyimpan dokumen database-nya.
mkdir -p cobamongo/db
Setelah itu jalankan servernya:
mongod --dbpath cobamongo/db/
Jika muncul seperti ini,
berarti server MongoDB sudah hidup dan siap menerima koneksi dari alamat
sudo service mongodb stop
7 [localhost].Untuk mematikannya, tinggal tekan saja tombol
sudo service mongodb stop
8+sudo service mongodb stop
9.Untuk selanjutnya, kita akan menggunakan server yang berjalan secara background. Jadi silahkan nyalakan kembali servernya:
sudo service mongodb start
Mengakses Server MongoDB
Kalau tadi kita menggunakan perintah
sudo service mongodb stop
1 untuk menyalakan server, maka untuk mengakses servernya, kita gunakan perintah sudo service mongodb stop
2.Perintah
sudo service mongodb stop
2 adalah program client untuk membuka Shell MongoDB.Pastikan servernya hidup, dan cobalah untuk mengetik perintah:
sudo apt install mongodb
0atau
sudo apt install mongodb
1Jika server-nya berada di tempat lain dengan IP
sudo service mongodb restart
3.Karena server-nya berada di localhost, jadi kita bisa langsung ketik
sudo service mongodb stop
2 saja.Kalau muncul seperti ini, berarti kita berhasil masuk ke Shell atau server MongoDB:
Secara default, database yang kita gunakan adalah
sudo service mongodb restart
5.Untuk melihat database yang sedang aktif, gunakan perintah
sudo service mongodb restart
6 pada Shell MongoDB.Sedangkan untuk melihat daftar database, gunakan perintah
sudo service mongodb restart
7.Saat ini, di server hanya ada database
sudo service mongodb restart
8 dan sudo service mongodb restart
9.Untuk keluar dari Shell MongoDB, tekan
sudo service mongodb stop
8+sudo service mongodb stop
9.Membuat Database dan Koleksi Baru
Mari kita buat Database baru bernama
sudo service mongodb status
2.Silahkan ketik perintah
sudo service mongodb status
3 untuk membuat dan menggunakan database sudo service mongodb status
2.Database ini belum tersimpan, karena masih kosong.
Selanjutnya, mari kita coba buat sebuah koleksi [collection]. MongoDB menggunakan istilah koleksi untuk menggantikan tabel.
Koleksi berisi kumpulan dokumen atau data dalam format JSON. Kalau di SQL kita menyebutnya dengan record/baris.
Koleksi bisa dibuat dengan perintah:
sudo apt install mongodb
2atau bisa juga otomatis dibuat ketika kita melakukan insert data.
Insert Data
Insert data dapat kita lakukan dengan perintah berikut:
sudo apt install mongodb
3atau
sudo apt install mongodb
4Keterangan:
5 adalah nama koleksi yang akan dibuat;sudo service mongodb status
6 adalah data yang akan kita simpan dalam koleksi tersebut dengan format JSON.sudo service mongodb status
Sebagai contoh, kita akan membuat koleksi bernama
sudo service mongodb status
7:sudo apt install mongodb
5Maka kita akan memiliki satu koleksi dan satu data di dalamnya.
Coba tambahkan lagi data baru.
sudo apt install mongodb
6Maka sekarang kita punya dua data dalam koleksi
sudo service mongodb status
7.Kita bisa melihatnya dengan fungsi
sudo service mongodb status
9.Contoh:
sudo apt install mongodb
7Menampilkan Data
Untuk menampilkan data yang sudah ditambahkan, kita bisa menggunakan method
sudo service mongodb stop
0:sudo apt install mongodb
8Contoh:
Kita juga bisa menambahkan fungsi
sudo service mongodb stop
1 agar ditampilkan dengan rapi.Coba juga untuk menampilkan buku yang memiliki harga
sudo service mongodb stop
2.sudo apt install mongodb
9Maka, buku yang hanya berharga
sudo service mongodb stop
2 saja yang akan ditampilkan.Paham…
Tapi apa itu
sudo service mongodb stop
4 dan sudo service mongodb stop
5, kenapa selalu ada di setiap data?Atribut
sudo service mongodb stop
6 bisa dibilang seperti Primary Key. Atribut ini akan otomatis dibuat oleh MongoDB disetiap pengisian data.Mengubah Data
Untuk mengubah data, kita bisa menggunakan fungsi
sudo service mongodb stop
7.sudo service mongodb start
0Keterangan:
8 adalah kata kunci data yang akan kita ubah, sama sepertisudo service mongodb stop
9 dalam SQL.sudo service mongodb stop
0 adalah data barunya.mkdir -p cobamongo/db
Sekarang, mari kita coba mengubah harga bukunya dari
sudo service mongodb stop
2 menjadi mkdir -p cobamongo/db
2.sudo service mongodb start
1Maka hasilnya, semua buku yang berjudul
mkdir -p cobamongo/db
3 akan diturunkan harganya menjadi mkdir -p cobamongo/db
2.Menghapus Data
Untuk menghapus data, kita bisa menggunakan perintah
mkdir -p cobamongo/db
5.sudo service mongodb start
2Sama seperti update data, penghapusan data juga memiliki
sudo service mongodb stop
8 untuk menentukan data yang akan dihapus.Contoh:
Kita akan menghapus buku yang berjudul
mkdir -p cobamongo/db
7, karena stoknya sudah habis 😄.sudo service mongodb start
3Maka data buku yang berjudul
mkdir -p cobamongo/db
7 sudah tiada.Untuk menghapus semua data dalam koleksi, kita bisa kosongkan nilai query-nya.
sudo service mongodb start
4Menhapus Dabase dan Koleksi
Bila kita ingin menghapus database dan koleksi, kita bisa menggunakan method
mkdir -p cobamongo/db
9 dan mongod --dbpath cobamongo/db/
0.Menghapus koleksi:
sudo service mongodb start
5Menghapus database:
sudo service mongodb start
6Menggunakan Robo 3T
Robo 3T [sebelumnya bernama Robomongo] adalah salah satu tools berbasis GUI untuk memanajemen database MongoDB. Tools ini opensource dengan lisensi GPL-3.0 dan tersedia untuk semua jenis sistem operasi.
Instalasi dan Menggunakan Robo 3T
Pertama silahkan download Robo 3T di website resminya [ robomongo.org].
Setelah itu, ekstrak dan coba jalankan file
mongod --dbpath cobamongo/db/
1.Maka jendela EULA akan muncul, silahkan klik “I Agree” kemudian klik Finish.
Maka jendela baru MongoDB Connection akan terbuka. Silahkan buat koneksi, klik Create.
Silahkan isi nama koneksinya dengan apa saja yang kamu sukai, kemudian klik Test.
Kalau muncul jendela seperti ini, berarti koneksi berhasil.
Setelah itu, silahkan klik Save untuk menyimpan koneksi. Maka sekarang kita punya satu koneksi.
Silahkan klik Connect untuk mulai membuka database MongoDB dari Robo 3T.
Berhasil…
Sekarang kita bisa mengelola database MongoDB tanpa harus menggunakan Shell di Terminal.
Membuat Menu Robo 3T
Robo 3T yang kita jalankan tadi adalah portable. Untuk mengintegrasikan dengan sistem, silahkan taruh direktori Robo 3T di dalam direktori
mongod --dbpath cobamongo/db/
2, lalu buatkan shortcut pada menu.Gunakan perintah ini untuk memindahkannya:
sudo service mongodb start
7atau
sudo service mongodb start
8Lalu tambahkan menu launcher di Menu Editor.
Maka sekarang, kita sudah punya menu Robo 3T yang bisa kita buka kapan saja.
Apa Selanjutnya?
Kita sudah mengetahui dasar-dasar MongoDB dan sudah mencoba dua cara dalam mengelola database MongoDB, yaitu menggunakan Shell di terminal dan Robo 3T.
Menggunakan Robo 3T memang lebih mudah, tinggal klik-klik saja. Tapi pengetahuan tentang Shell juga tidak kalah pentingnya, karena akan banyak berguna dalam pemrograman.