MongoDB
Table of Contents
1. Pengantar
2. NoSQL dan MongoDB
3. Instalasi
i. OS X
ii. Linux
iii. Windows
4. Menjalankan MongoDB
5. Menggunakan MongoDB
6. Query
7. Collection
8. Cursor
9. Replication
10. Sharding
11. GridFS
12. Optimasi
13. Sekuritas
14. Tips & Trik
2
Pengantar MongoDB
Pengantar
Buku ini akan mengajarkan Anda dasar-dasar dari MongoDB. Apakah Anda seorang yang berpengalaman atau tidak, buku
ini ditujukan untuk semua orang yang ingin belajar tentang MongoDB document database, keluarga NoSQL.
Butuh bantuan?
Anda dapat mengajukan pertanyaan atau hal lainnya (yang berhubungan dengan buku ini) ke w.kristories@gmail.com.
Untuk informasi tentang NoSQL, Anda dapat mengikuti akun Twitter dibawah ini.
Lisensi
MongoDB Untuk Indonesia by Wahyu Kristianto is licensed under a Creative Commons Attribution-ShareAlike 4.0
International License.
Pengantar 3
Pengantar MongoDB
NoSQL
NoSQL (sering ditafsirkan sebagai "tidak hanya SQL") adalah kelas yang luas dari sistem manajemen basis data yang di
identifikasikan dengan tidak mematuhi aturan pada model sistem manajemen basis data relasional yang banyak
digunakan. NoSQL tidak dibangun terutama dengan table dan umumnya tidak menggunakan SQL untuk memanipulasi
data.
Teorema CAP
Teorema CAP menyatakan bahwa, tidak mungkin untuk sebuah sistem komputer terdistribusi secara bersamaan,
memberikan ketiga jaminan sebagai berikut :
Consistency - Semua node melihat data yang sama dalam waktu yang bersamaan.
Availability - Jaminan pada setiap permintaan, menerima tanggapan tentang apakah itu berhasil atau tidak.
Partition tolerance - Sistem terus beroperasi meski sistem yang lain gagal.
MongoDB
MongoDB merupakan open-source document database dari keluarga NoSQL, yang memberikan kinerja tinggi, high
availability, dan automatic scaling.
Document
Data pada MongoDB dikenal sebagai document. MongoDB menggunakan BSON serialization sebagai format
penyimpanan data untuk document, mirip dengan JSON.
Contoh document
{
"_id": ObjectId("549081be0dbcfd82140041a7"),
"nama": "Wahyu Kristianto",
"nomor": NumberLong(12345),
"bahasa": [
"bahasa",
"english"
]
}
SQL MongoDB
database database
table collection
row document
column field
index index
Contoh Penggunaan
SQL
MySQL
SELECT *
FROM pengguna
WHERE status = "aktif"
OR nomor = 50
MongoDB
db.pengguna.find(
{
$or: [
{ status: "aktif" },
{ nomor: 50 }
]
})
Instalasi
Untuk proses instalasi, pilih sistem operasi yang digunakan.
OS X
Linux
Windows
Instalasi 6
Pengantar MongoDB
Instalasi - OS X
Ada dua cara instalasi pada OS X, yaitu :
Via Homerew
Manual
Via Homebrew
Instalasi MongoDB production release
Manual
Unduh file dari https://www.mongodb.org/downloads . Contoh yang digunakan saat ini adalah MongoDB versi 2.6.6 / 64-bit.
curl -O http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.6.6.tgz
Ekstrak file
mv mongodb-osx-x86_64-2.6.6 mongodb
OS X 7
Pengantar MongoDB
Instalasi - Linux
Pada instalasi linux ini, menggunakan distro turunan dari Debian, yaitu Ubuntu. Ada dua cara dalam proses instalasi, yaitu :
Buat list file untuk MongoDB dengan nama mongodb.list pada direktori /etc/apt/sources.list.d dengan menggunakan
perintah berikut :
Via Manual
Unduh file dari https://www.mongodb.org/downloads. Contoh yang digunakan saat ini adalah MongoDB versi 2.6.6 / 64-bit.
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.6.tgz
Ekstrak file.
mv mongodb-linux-x86_64-2.6.6 mongodb
export PATH=<FORDER_MONGODB>/bin:$PATH
Linux 8
Pengantar MongoDB
Lebih baik menggunakan package manager, karena dengan cara ini, kita sudah termasuk mendapatkan control
script, yaitu sebuah script untuk mengatur MongoDB agar dapat berjalan sebagai sebuah daemon, termasuk
pengontrolan untuk start & stop.
Linux 9
Pengantar MongoDB
Instalasi - Windows
Pastikan Anda mengetahui versi Windows yang dipakai. Anda dapat mengetahuinya melalui Control Panel / System and
Security / System atau melalui Command Prompt %PROCESSOR_ARCHITECTURE% .
Unduh MongoDB dari https://www.mongodb.org/downloads sesuai dengan versi Windows yang digunakan.
Klik dua kali pada file yang sudah diunduh, lalu ikuti panduan instalasinya.
Ubah nama folder MongoDB.
cd \
move C:\mongodb-win32-* C:\mongodb
Windows 10
Pengantar MongoDB
Windows 11
Pengantar MongoDB
Menjalankan MongoDB
mongod adalah daemon utama untuk sistem MongoDB. Tugas mongod adalah menangani semua permintaan dan
pengelolaan data.
mongod membutuhkan direktori khusus untuk menyimpan data file. Secara default, direktori untuk mongod berada di
Setelah menentukan direktori mongod , ubah permission direktori tersebut agar dapat membaca dan menulis.
Menjalankan mongod .
mongod
Jika menginginkan menjalankan MongoDB pada direktori yang berbeda, dapat menambahkan --dbpath .
Menjalankan MongoDB 12
Pengantar MongoDB
Menggunakan MongoDB
Pada bab ini akan diulas tentang menggunakan MongoDB dasar seperti :
Menjalankan mongo ,
Database
Collection
Document
Menambahkan Document
Mencari Document
Mengubah Document
Menghapus Document
Menjalankan mongo
Anda dapat menggunakan MongoDB dengan menjalankan mongo .
mongo
Database
Menggunakan MongoDB 13
Pengantar MongoDB
Dengan MongoDB, Anda tidak perlu repot dengan membuat database terlebih dahulu. Anda dapat langsung menggunakan
database yang Anda inginkan, sekalipun database tersebut belum dibuat.
Collection
Pengelompokan dokumen di MongoDB disebut collection. Jika Anda pernah menggunakan SQL sebelumnya, collection
sama halnya dengan table. Anda dapat melihat Terminologi dan Konsep pada halaman MongoDB.
Artinya, MongoDB memiliki skema yang fleksibel. Layaknya folder, Anda dapat menempatkan apapun pada folder tersebut,
seperti dokumen, gambar, lagu, atau apapun yang Anda inginkan. Anda tidak dituntut untuk menentukan struktur data pada
saat pembuatan collection, dan dapat menempatkan document dengan struktur yang berbeda-beda.
db.createCollection('provinsi')
Document
Document akan sering Anda jumpai. Disinilah data yang akan Anda kelola.
Menambahkan Document
Dibawah ini adalah contoh untuk menambahkan document baru pada collection "provinsi".
Menggunakan MongoDB 14
Pengantar MongoDB
Mencari Document
Setelah Anda menambahkan document pada collection, kali ini Anda akan dipandu untuk mencari document yang telah
Anda buat sebelumnya.
db.provinsi.find()
Jika ingin mencari document berdasarkan kriteria tertentu, dapat ditambahkan kriteria pada parameter pertama.
Mengubah Document
Data yang sudah dibuat, dapat diubah kembali. Ada dua jenis pengubahan data, yaitu :
Contoh berikut adalah untuk mengubah field "nama" dari "DKI Jakarta" ke "Jakarta".
db.provinsi.update(
{ nama: "DKI Jakarta" },
{
$set: {
Menggunakan MongoDB 15
Pengantar MongoDB
nama: "Jakarta"
}
}
)
Mengganti document
Anda juga dapat mengganti document yang sudah ada dengan document baru. Perbedaannya adalah, seluruh field yang
ada pada document yang sudah ada, akan diganti dengan seluruh field yang baru.
db.provinsi.update(
{ nama: "Jakarta" },
{ ibukota: "Jawa Barat" }
)
Menghapus Document
Berikut adalah contoh untuk menghapus seluruh document yang mempunyai field "nama" bernilai "Aceh".
Jika menghapus hanya satu dokumen saja, dapat menambahkan parameter kedua dengan nilai boolean .
db.provinsi.remove({})
Menggunakan MongoDB 16