Belajar MongoDB -->

Belajar MongoDB

Sorayakit
25 November 2016



Mongodb yaitu database yang memiliki konsep collection dan document, pada artikel sebelumnya kita telah mengulas apa itu database dan perkembangan database.

Artikel ini mencoba mengulas sedikit tentang database mongodb dari proses instalasi, menjalankan, hingga pembuatan database dengan cara dan langkah sederhana.

Mukadimah mongoDB
MongoDB adalah database cross-platform, yang berorientasi dokumen bersifat open-source dan database jenis NoSQL terkemuka.
MongoDB ditulis dalam C++. Konsep MongoDB adalah membuat dan menyebarkan database yang sangat scalable dan berorientasi kinerja. Mongodb tersedia di cloud seperti mLab, di install di windows dan bahkan bisa di instal diperangkat raspberry pi.


Pada database mongoDB kita dapat membuat lebih dari satu database isi dari masing-masing database akan melahirkan collection yang juga bisa kita buat lebih dari satu dan didalam koleksi ada dokumen yang berisi banyak field.
Database adalah wadah fisik untuk koleksi. Setiap database dapat mengatur sendiri file pada sistem file. Sebuah server mongodb tunggal biasanya memiliki beberapa database.










Koleksi
Seperti disebutkan diatas isi dari database adalah sejumlah koleksi, koleksi berisi sejumlah kelompok dokumen. Koleksi ada dalam database tunggal.

Dokumen dalam koleksi dapat memiliki isi yang berbeda. Biasanya, semua dokumen dalam koleksi memiliki tujuan yang sama atau terkait, setiap dokumen akan diberi ID masing masing secara otomatis atau manual dengan menyisipkan sendiri.


Dokumen
Sebuah dokumen memiliki satu set pasangan value atau nilai dan key atau kunci. Dokumen memiliki skema yang dinamis, skema dinamis berarti bahwa dokumen dalam koleksi yang sama tidak perlu memiliki value yang sama, dokumen koleksi ini dapat memegang berbagai jenis data dan dibuat dengan format json.

Berikut contoh menunjukkan struktur dokumen dengan format json yang hanya dipisahkan koma dengan kunci nilai pasangan
 

Atau

{
        "_id" : ObjectId("5b636be0d1d24257f2b794aa"),
        "Judul" : "belajar database",
        "Pengarang" : "Anisa"
}

 _id adalah 12 byte angka heksadesimal yang menjamin keunikan setiap dokumen. Sobat dapat memberikan _id saat memasukkan dokumen. Jika Sobat tidak memberikan maka MongoDB memberikan sebuah id unik untuk setiap dokumen.
                 
B. Instalasi database MongoDB
Ini adalah panduan simpel bagaimana membuat database mongoDB via node js. Sebelum membuat database via node js.

Dalam kesempatan ini penulis melakukan instalasi  mongoDB melalui command prompt node js yang sebelumnya pernah penulis install.

Jika belum  silahkan Install node disini

Di artikel ini mongodb banyak digunakan untuk media penyimpanan data, yang bekerja dengan node Js. Mari kita mulai dengan membuka node js dan pembuatan folder kerja.
  •  Buka aplikasi Node.js command prompt: 
  •    Buat folder kerja,  Kita akan menempatkan modul database mongoDB di folder kerja dan kita beri nama myproject, ketik perintahnya lalu enter, kemudian ketik  cd myproject lalu enter
  •    Buat file package.json.
File package.json adalah file dependency yang dikenali oleh node js, dependency adalah rujukan nama nama modul yang akan dipakai. Dalam sesi ini kita akan membuat database mongodb dengan mendaftarkan modul ke dependency yang ada di file package.json dengan perintah

npm init -yes

Hasilnya
  
 

Keyword yes, untuk memudahkan proses instalasi  dengan menjawab iya semua pertanyaan secara otomatis. Cek di folder myproject akan tampil file package dengan ekstensi json



Install dependency, dengan perintah.

 
npm install mongodb --save

Hasilnya


Cek folder myproject akan tampil tambahan folder baru node modules yang berisi modul mongodb. Dan jika sobat buka file package juga berisi dependency mongodb beserta versinya.
  


Jika instalasi belum berhasil coba login sebagai administrator atau
cek koneksi internet

Menjalankan Database mongoDB
Sekarang kita akan booting database mongodb, setelah booting maka mongodb otomatis bekerja sebagai server database, untuk berinteraksi dengan server mongodb kita mesti menjalankan aplikasi client yang sudah disediakan mongodb, client disini kita pakai mongo. .
  •     Jalankan database mongodb
Ketikkan perintah mongod di nodejs, jika berhasil akan tampak screen di line terakhir “waiting for connections
on port 27017 yang berarti database sudah siap tinggal menuggu koneksi dari mongo client, bila belum muncul tunggu beberapa detik. Port 27017 ini merupakan port default untuk komunikasi dengan server mongodb.

  •    Jalankan client database mongodb
Buka lagi command prompt nodejs untuk menjalankan aplikasi mongo sebagai client, ketikkan perintah mongo lalu enter, seperti screen berikut:


Membuat Database mongoDB
Kita sudah menjalankan database server mongoDB dan menjalankan client mongo. Dari client mongo kita bisa mulai membuat database, membuat koleksi dokumen, melakukan query dan banyak lagi. Kita mulai membuat database dengan perintah
 
use DATABASE_NAME

adalah command atau perintah untuk membuat database. Perintah ini otomatis membuat database baru jika seandainya belum ada database yang sama diserver. 

Jika sudah ada database lama dengan nama yang sama akan tetap berlaku database lama. Sobat perlu mencari nama yang berbeda.

Kita akan membuat sebuah database dengan nama “mydb”, maka gunakan perintah 

>use mydb

Kemudian akan tampil otomatis tampil switched to db mydb yang berarti kita pindah atau aktif di database mydb



untuk mengecek keberadaan database dan memastikan status db yang sekarang aktif gunakan perintah db

>db

Hasilnya



Jika ingin check seluruh database yang pernah dibuat di  server mongodb ketikkan perintah show dbs

>show dbs

Akan tampil seluruh isi database yang pernah dibuat atau sudah ada, misal

local     0.78125GB
test      0.23012GB

Kita sudah membuat database dengan nama mydb, namun belum tampak dari daftar database, untuk menampilkannya kita perlu membuat minimal satu dokumen di koleksi yang akan kita namakan "biodata" dengan menggunakan perintah db.COLLECTION_NAME.insert(document).
Masukkan nama koleksi dan isi dokumen seperti contoh berikut.

>db.biodata.insert({"nama":"Soraya","umur":3,"hobi":"raspi"})
 
Hasilnya
 

Kemudian cek database dengan perinah

>show dbs

Akan tampil

local      0.78125GB
mydb       0.23012GB
test       0.23012GB

Kita telah membuat dokumen yang disimpan di koleksi biodata, untuk mengecek keberadaah koleksi biodata di database yang aktif saat ini gunakan perintah show collections

>show collections

Hasilnya


Database  yang aktif saat ini adalah "mydb" maka koleksi yang kita namakan biodata secara otomatis ditempatkan di database mydb

Membuat Collection
Sebelumnya kita telah membuat satu koleksi biodata dengan isi dokumennya. Berikut ini perintah kusus untuk membuat koleksi dan parameternya.

db.createCollection(name, options)

parameter name adalah nama koleksi yang akan dibuat. Parameter Options adalah konfigurasi tambahan bersifat opsional untuk lebih jauh bisa lihat langsung sumbernya  disini

>db.createCollection("hastakarya")

Hasilnya


Sobat dapat melihat daftar koleksi yang ada termasuk yang baru saja kita buat dengan perintah show collections.

>show collections

Hasilnya


Dalam mongoDB sobat bisa membuat koleksi dan dokumen sekaligus, mari kita tambah satu koleksi lagi beserta isinya dan masih mengunakan perintah insert.

>db.koleksiku.insert({"Judul" : "belajar database","Pengarang":"Anisa"})

 Hasilnya


>show collections

Hasilnya


Kita sudah membuat beberapa koleksi yang berisi dokumen dan  untuk menampilkan isi dari dokumen, kita perlu melakukan query dokumen yang ada di koleksi. Sobat bisa menggunakan perintah db.COLLECTION_NAME.find()

>db.koleksiku.find()

hasilnya 



jika ingin rapih gunakan perintah find pretty
 
db.COLLECTION_NAME.find().pretty()

Hasil find pretty



coba ulangi lagi dengan menyisipkan satu dokumen lagi

>db.koleksiku.insert({"Judul" : "belajar mongodb","Pengarang":"Fitriyani"})

lihat hasilnya dengan find pretty, jika oke kita bisa menyisipkan lagi dokumen misal 

>db.koleksiku.insert({"Judul" : "belajar database","Pengarang":"Fitriyani"})

 Hasil find pretty terkhir adalah:
 

Menghapus Collection
Kita bisa membuat  dan bisa membuang salah satu  koleksi yang tidak diperlukan dengan menggunakan perintah 

db.COLLECTION_NAME.drop()

Untuk menghapus baiknya kita cek dulu status database dan daftar koleksinya,  masukkan perintah use mydb

>use mydb
switched to db mydb

>show collections
biodata
hastakarya
koleksiku
 
Sekarang kita coba hapus sebuah koleksi hastakarya

>db.hastakarya.drop()

Hasilnya


Jika penghapusan berhasil log akan menampilkan pesan true, begitupun sebaliknya. Untuk memastikan cek kembali daftar koleksi :

>show collections 

Hasilnya


Insert Document
Untuk menyisipkan data atau dokumen kedalam koleksi mongodb, sama dengan ulasan sebelumya yaitu menggunakan perintah insert() atau save() berikut perintahnya db.COLLECTION_NAME.insert(document)

>db.biodata.insert({"nama":"Ibrahim","um
ur":2,"hobi":"mancing"}) 

kemudian lihat hasilnya dengan perintah query find pretty


Jika kita ingin menambahkan lagi nama orang dalam koleksi biodata kita bisa menggunakan perintah db.COLLECTION_NAME.save(document)

>db.biodata.save([{"nama":"Herlina","umur":21,"hobi":"Hydr
oponik"},{"nama":"Yusuf","umur":35,"hobi":"Menghayal"}])


hasil find pretty


Sebelumnya kita menyisipkan dokumen satu persatu, untuk menyisipkan beberapa dokumen dalam satu query, sobat dapat menggunakan perintah post insert(), walaupun membuat dan membaca query terkesan memiliki banyak tanda baca titik koma tapi sebenenarnya mengacu pada format json yang sangat sederhana dan mudah dipahami, berikut penggunaan perintah db.post.insert()

>db.ibukota.insert([{"negara":"indonesia","propinsi":"jawa
barat","ibukota":"bandung"},{"negara":"indonesia","propinsi":"jawatimur","ibuk
ota":"surabaya"}])

jika berhasil akan tampil



hasil find pretty





Delete Document 
Menggunakan metode remove() digunakan untuk remove document dari collections. remove() method memiliki dua parameters. Satu untuk delete dengan kriteria  dan yang kedua pilihan delete hanya satu dokumen.
  • Deletion criteria − (Optional) Delete dengan kriteria, akan delete dokumen yang berisi sama dengan kriteria yang ditentukan.
  • JustOne − (Optional) Jika di set true atau 1, delete hanya satu dokumen.
Perintah yang dipakai remove adalah db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)
Untuk mencoba metode remove, kita akan menggunakan koleksi yang bernama koleksiku yang pernah kita buat sebelumnya. Pertama pastikan dulu ya status database.
 
>use mydb    
jika ok di log tampil switch to db mydb
 
>db
jika ok di log tampil mydb
 
>show collections

jika ok di log tampil koleksiku yang sudah dibuat sebelumnya, kemudian kita cek before after nya isi koleksiku









> db.koleksiku.find().pretty()
  
hasilnya

> db.koleksiku.find().pretty()
{
        "_id" : ObjectId("5b636be0d1d24257f2b794aa"),
        "Judul" : "belajar database",
        "Pengarang" : "Anisa"
}
{
        "_id" : ObjectId("5b637357d1d24257f2b794ad"),
        "Judul" : "belajar mongodb",
        "Pengarang" : "Fitriyani"
}
{
        "_id" : ObjectId("5b63737cd1d24257f2b794ae"),
        "Judul" : "belajar database",
        "Pengarang" : "Fitriyani"
}
 
 
Contoh remove dengan option criteria,  ini akan membuang semua dokumen dengan Pengarang "Fitriyani"

>db.koleksiku.remove({"Pengarang":"Fitriyani"})

di log akan tampil remove 2 dokumen

hasilnya
 

Buang satu dokumen
Jika ada banyak record dan sobat ingin membuang hanya satu dokumen, dapat menggunakan options jusOne dengan perintah db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)

Buang semua dokumen
Kita juga bisa membuang sekaligus semua dokumen dalam koleksi dengan perintah db.koleksiku.remove()
 
Mongodb HelpUntuk mendapatkan perintah lain, kita bisa mengetikkan perintah db.help(). Yang akan menampilkan daftar perintah yang bisa digunakan.
Mongodb StatisticsUntuk mendapatkan status tentang data di server Mongodb, bisa menggunakan perintah db.stats() yang akan menampilkan nama database.



Drop database
Jika sebelumnya kita membuat database maka saat ini kita akan mendelete database, dengan perintah db.dropDatabase()

Untuk mencobanya, pertama kita cek dulu daftar isi database yang ada di server dengan perintah, 

>show dbs

Akan tampil kurang lebuhnya sperti ini, tampak mydb

local      0.78125GB
mydb       0.23012GB 
test       0.23012GB

lalu kita pilih database yang ingin didelete misal mydb yang akan  didelete dengan perintah

>use mydb
switched to db mydb

Saat ini kita sudah berada didatabase aktif mydb. Kemudian kita ketikkan

>db.dropDatabase()

hasilnya

>{ "dropped" : "mydb", "ok" : 1 }


Sekarang kita cek daftar isi databas, dengan perintah

>show dbs
local      0.78125GB
test       0.23012GB 

Tidak tampak lagi mydb didaftar database. Semoga artikel ini bermanfaat, salam.. :)