Setelah sukses dengan instalasi MongoDB, kita akan lanjut dengan tutorial membuat database dan manajemen collection.
Ada beberapa istilah di MongoDB yang mirip dengan database relasional sepert MySQL antara lain
Database SQL (MySQL) | Database MongoDB |
Database | Database |
Table | Collection |
Field / Column | Field |
Row | Document |
Contents
Membuat & Menghapus Database
Pertama kita akan buat database terlebih dahulu..
Contoh kasusnya adalah sama dengan kasus di artikel Database MySQL yaitu
Nama database : kampus Nama collection : mahasiswa Nama field : nim, nama, alamat
Saat membuat database gunakan perintah
use nama_database
Jika ingin membuat database kampus maka gunakan perintah
> use kampus switched to db kampus
Database kampus akan terbuat tetapi tidak akan muncul jika ditampilkan semua list database karena di dalam database kampus tidak terdapat document apapun
Gunakan perintah db.mahasiswa.insert untuk menambahkan satu document dengan nama koleksi mahasiswa di database kampus
> db.mahasiswa.insert({"nim":"21400200", "nama":"faqih", "alamat":"bandung"}) WriteResult({ "nInserted" : 1 })
Dan list semua database dengan perintah
> show dbs admin 0.000GB config 0.000GB kampus 0.000GB local 0.000GB
Oke sekarang sudah ada database kampus di list database
Untuk menghapus database pastikan anda sudah masuk di dalam database yang ingin dihapus
Gunakan perintah db.dropDatabase() untuk menghapus database
> use kampus switched to db kampus > db.dropDatabase() { "dropped" : "kampus", "ok" : 1 } > show dbs admin 0.000GB config 0.000GB local 0.000GB
Manajemen Collection
collection atau koleksi merupakan istilah table di MongoDB
Di pembahasan membuat database telah disinggung sekilas dalam membuat collection.
Untuk membuat koleksi kita dapat langsung lakukan operasi insert data yang didalamnya terdapat nama koleksi seperti saat menambah data mahasiswa
Atau kita bisa inisialisasikan diawal dalam pembuatan collection dengan perintah
db.createCollection("nama koleksi")
Misal kita ingin membuat collection mahasiswa di dalam database kampus maka
> use kampus switched to db kampus > db.createCollection("mahasiswa") { "ok" : 1 } > show collections mahasiswa
Sekali lagi, mungkin perintah ini tidak diperlukan karena saat melakukan operasi insert maka secara otomatis collection juga akan dibikin jika belum ada
Sedangkan untuk menghapus collection gunakan perintah
db.collection_name.drop()
> db.mahasiswa.drop() true
Insert, Query, Update, Delete
Seperti halnya MySQL yang menyediakan fungsi data manipulation language (DML), MongoDB juga bisa melakukan proses insert, query, update dan delete
#1 Insert
Untuk menambahkan document / record gunakan perintah
db.collection_name.insert(document)
Bentuk penulisan document adalah key value seperti penulisan dictionary di Python
Misal kita insert nim, nama dan alamat makan bentuk key value -nya adalah seperti ini
{ "nim":"21400200", "nama":"faqih", "alamat":"bandung" }
Sehingga perintah insert document MongoDB menjadi seperti ini
> db.mahasiswa.insert( { "nim":"21400200", "nama":"faqih", "alamat":"bandung" })
Atau jika ditulis dalam satu baris menjadi
> db.mahasiswa.insert({"nim":"21400200", "nama":"faqih", "alamat":"bandung"})
Jika ingin insert lebih dari satu document gunakan array seperti ini
> db.mahasiswa.insert([ { "nim":"21400200", "nama":"faqih", "alamat":"bandung" },{ "nim":"21400201", "nama":"zaki", "alamat":"padang", "hobi": "coding" } ])
Kita bisa menambahkan field untuk document yang berbeda karena fleksibilitas skema database NoSQL tidak perlu mendefinisikan nama field di awal seperti MySQL
#2 Query
Untuk melakukan menampilkan data gunakan perintah query seperti ini
db.collection_name.find()
Sedangkan jika ingin menampilkan secara cantik gunakan tambahan perintah pretty()
db.collection_name.find().pretty()
> db.mahasiswa.find() { "_id" : ObjectId("5e27dc0736652fbbc379af33"), "nim" : "21400200", "nama" : "faqih", "alamat" : "bandung" } { "_id" : ObjectId("5e27dc0736652fbbc379af34"), "nim" : "21400201", "nama" : "zaki", "alamat" : "padang", "hobi" : "coding" } > db.mahasiswa.find().pretty() { "_id" : ObjectId("5e27dc0736652fbbc379af33"), "nim" : "21400200", "nama" : "faqih", "alamat" : "bandung" } { "_id" : ObjectId("5e27dc0736652fbbc379af34"), "nim" : "21400201", "nama" : "zaki", "alamat" : "padang", "hobi" : "coding" }
Jika ingin mencari document tertentu berdasarkan field-nya cukup masukkan value yang ingin dicari di dalam fungsi find()
> db.mahasiswa.find({"nama":"faqih"}) { "_id" : ObjectId("5e27dc0736652fbbc379af33"), "nim" : "21400200", "nama" : "faqih", "alamat" : "bandung" }
#3 Update
Untuk melakukan perubahan document gunakan perintah
db.collection_name.update({nilai document lama}, {$set:{nilai document baru}})
Nilai document lama = kondisi document yang ingin diupdate nilainya
Nilai document baru = Nilai baru untuk document yang ingin diupdate
Misal kita ingin merubah alamat “padang” menjadi “surabaya” maka perintah akan seperti ini
> db.mahasiswa.update({"alamat":"padang"}, {$set:{"alamat":"surabaya"}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.mahasiswa.find() { "_id" : ObjectId("5e27dc0736652fbbc379af33"), "nim" : "21400200", "nama" : "faqih", "alamat" : "bandung" } { "_id" : ObjectId("5e27dc0736652fbbc379af34"), "nim" : "21400201", "nama" : "zaki", "alamat" : "surabaya", "hobi" : "coding" }
#4 Delete
Untuk delete document gunakan perintah
db.collection_name.remove(nilai dokumen)
nilai dokumen = kondisi nilai dokumen yang ingin dihapus
Misal kita akan menghapus document mahasiswa yang berasal dari bandung, maka
> db.mahasiswa.remove({"alamat":"bandung"})
Oke.. selamat anda telah sukses membuat database, collection dan melakukan manipulasi document
Materi selanjutnya akan membahas penggunakan tools berbasis user interface (UI) untuk memudahkan dalam manajemen database
Beberapa materi MongoDB antara lain