Home > Data Mining & IR, Manajemen Database, Pemrograman Web > Pengembangan Aplikasi Web dengan MEAN (1) – Mengelola Database Dokumen dengan MongoDB

Pengembangan Aplikasi Web dengan MEAN (1) – Mengelola Database Dokumen dengan MongoDB


MongoDB adalah salah satu database dokumen. Ia juga masuk kategori NoSQL (Not Only SQL). Database jenis ini sedang menjadi tren terutama untuk menyimpan dokumen-dokumen yang tentu saja tidak tepat dalam format Relasional. SQL, sebagaimana hadir pada banyak database, seperti MySQL, SQL Server, Oracle dan PostgreSQL, memerlukan waktu lama untuk menguasainya. MongoDB sangat sederhana dan dapat dipelajari dalam sekejap.

Pada database relasional, data disimpan dalam rangkaian baris dan tabel. MongoDB mempunyai koleksi dan dokumen. Koleksi dapat disamakan dengan tabel, dan dokumen diumpamakan sebagai baris. Meskipun sebetulnya analogi tersebut belum tentu tepat.

Instalasi mongoDB:

Silakan baca di http://docs.mongoDB.org/manual/installation. Sangat mudah. Cukup download dan install sebagaimana software umumnya. Pada sistem Linux, ubuntu misalnya, instalasi juga dapat menggunakan perintah sudo apt-get install mongodb. Pada Arch Linux, gunakan sudo pacman -S mongodb. Cara paling simple adalah mendownload paket MEAN Stack dari bitnami.

MongoDB hadir dengan shell bernama mongo. Aplikasi kecil ini dapat disebut sebagai client dari MongoDB server. Kita akan membuat database bernama db_test. Pada mongoDB ada tiga bagian hirarki data:

1. Database. Biasanya satu database per aplikasi tetapi dapat pula menyebar pada beberapa server.
2. Koleksi. Kelompok potongan data yang mirip. Dapat dianggap sebagai tabel pada database SQL
3. Dokumen. Item tunggak dalam database, seperti record. Jika koleksi dalah kelas maka dokumen adalah obyek.

Jalankan program shell mongo. Kita mulai membuat database menggunakan shell tersebut. Tidak ada pembuatan database yang dilakukan secara eksplisit (misalnya dengan create database).

1. Membuat Database. Pada shell mongo, cukup tuliskan use db_test (tidak membuat tetapi langsung menggunakan)

> use db_test
switched to db db_test

2. Memasukkan (INSERT) dokumen.

Memasukkan dokumen pertama ke dalam koleksi bernama users:

> db.users.insert({nama:’Husni Ilyas’, email:’husni@trunojoyo.ac.id’, peran:[‘admin’, ‘manajer’]})
WriteResult({“nInserted”: 1})

3. Query (SELECT) terhadap dokumen

Kita dapat menggunakan perintah find untuk menampilkan semua dokumen dalam koleksi, seperti berikut:

db.users.find()

Perhatikan hasil yang diberikan oleh shell mongo.

Dokumen pada mongoDB secara otomatis mempunyai atribut ObjectID yang diberikan secara unik untuk setiap dokumen.

Bagaimana mendapatkan dokumen tertentu? Berikut ini beberapa contoh.

Query berdasarkan ObjectID:

> db.users.find(ObjectID(“4576455467097fde”))

Mencari berdasarkan Email:

> db.users.find({email:’husni@trunojoyo.ac.id’})

Atau berdasarkan perannya:

> db.users.find({peran:’admin’})

Operator query:

Menampilkan dokumen yang nama-nya Husni atau Rohmi (menggunakan $in):

> db.users.find({ “nama”: { $in: [“Husni”, “Rohmi”] } })

Bentuk berbeda tetapi hasil sama diperikan oleh pernyataan berikut (menggunakan $or):

> db.users.find( { $or: [{ “nama”: “Husni” }, { “nama”: “Rohmi” }] })

4. Mengubah (UPDATE) dokumen

Kita dapat menggunakan perintah update. Contohnya:

> db.users.update({“nama”: “Husni Ilyas”},
$set: {“email”: “husni@if.trunojoyo.ac.id”,})

atau

> db.users.update({
“nama”: “Rohmi”
}, {
$set: {
“nama”: “Rohmi Nur Hidayah”
}
}, {
multi: true
})

Flag multi digunakan untuk mengupdate semua dokumen yang memenuhi kriteria, bukan hanya satu dokumen yang ditemukan pertama kali.

Perintah update dapat dipadukan dengan flag upsert untuk memasukkan dokumen baru ke dalam koleksi. Jadi mongoDB tidak memeriksa dokumen yang telah ada. Berikut contohnya:

> db.users.update({
nama: ‘”‘Rohmi’
}, {
email: ‘rohmi@email.com’,
peran:[‘admin’, ‘manajer’]},
{
upsert: true
})

Cara lan mengupdate dokumen adalah menggunakan perintah save():

> db.users.save({
“_id”: ObjectId(“50691737d386d8fadbd6b01d”),
“email”: “husni@if.trunojoyo.ac.id”,
“nama”: “Husni Ilyas”
});

Perintah save() juga dapat digunakan untuk menambahkan dokumen baru ke dalam koleksi. Ini terjadi jika kriteria update yang ditetapkan tidak ditemukan:

> db.users.save({“email”:”Husni@if.trunojoyo.ac.id”, “nama”: “Husni Ilyas”})

5. Menghapus dokumen

Menghapus semua dokumen dalam koleksi users:

> db.users.remove()

Menghapus semua dokumen yang atribut nama-nya bernilai Rohmi:

> db.users.remove({ “nama”: “Rohmi” })

Menghapus dokumen yang pertama memenuhi kriteria, yaitu dokumen pertama yang atribut nama-nya bernilai Rohmi

> db.users.remove({ “nama”: “Rohmi” }, true)

Semoga tutorial singkat ini bermanfaat. Tutorial berikutnya, insya Allah akan membahas koneksi dari Node.JS ke MongoDB. Selamat belajar🙂

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: