Anda di halaman 1dari 41

MONGODB

Wiktasari, S.T., M.Kom


PENGERTIAN
 MongoDB merupakan open source database management system
 MongoDB merupakan database NoSQL yang berbasis document
 MongoDB menggunakan dokumen dengan format JSON
 Dikembangkan oleh 10gen pada tahun 2007
 MongoDB tidak menggunakan SQL, namum menggunakan Javascript sebagai bahasa
utama
 Perusahaan besar yang menggunakan Adobe, Google dan ebay yang menggunakannya
Keunggulan MongoDB
 Performa Lebih Cepat 
 Pengelolaan Database Lebih Mudah
 Mampu Menampung Banyak Data yang Bervariasi
 Bisa Mengelola Query Lebih Baik
 Memiliki Kemampuan Skalabilitas Sesuai Kebutuhan
 Dapat Memperbarui Skema Data Tanpa Downtime
 Bisa Digunakan Secara Gratis
Docker Compose
 Ambil file yml di Elnino
 Jalankan docker compose

 Tunggu proses pulling image


MONGODB CLIENT
 MongoDB menyediakan aplikasi mongo client berupa command line
interface (CLI) untuk melakukan koneksi ke MongoDB server
 Aplikasi ini disebut dengan mongo shell
 Manfaat mongo shell untuk menjalankan mongo client tanpa harus
menggunakan GUI
 Mongo shell menggunakan bahasa pemrograman Javascrip
Masuk ke Monggo Shell
 Ketikan perintah

 Kemudian ketikan perintah


DATABASE
 Database adalah lokasi untuk menyimpan collection
 Semua collection harus disimpan di database
 Database digunakan untuk memisahkan data secara logikal
per aplikasi
MEMBUAT DATABASE
 Database dalam mongoDB akan secara otomatis dibuat dengan nama database
yang dipilih
 Perintah untuk memilih nama database = use <nama database>

 Menampilkan database
DATABASE METHOD
Database Methods Keterangan
db.dropDatabase() Menghapus database
db.getName() Mengambil nama database
db.hostInfo() Mengambil informasi host tempat
mongoDB
db.version() Mengambil versi database
db.stats() Meengambil statistik penggunaan
database
 Mendapatkan nama database

 Menghapus database

 Versi database
COLLECTION
 Collection adalah tempat menyimpan document
 Maximum per document yang bisa disimpan adalah 16MB
 Maxiimun level nested document yang bisa disimpan adalah 100
level
COllECTION METHODS
Method Keterangan
db.getCollectionNames() Mengambil semua nama collection
db.createCollection(name) Membuat collection baru
db.getCollection(name) Mendapatkan object collection
db.<name> Perintah yang sama dengan
perintah sebelumnya
db.getCollectionInfos() Mendapat informasi semua
collection
Method Keterangan
db.<collection>.find() Mengambil semua docement
db.<collection>.count() Mengambil jumlah document
db.<collection>.drop() Menghapus collection
db.<collection>.totalSize() Mengambil total ukuran collection
db.<collection>.stats() Mengambil informasi statistik collection
 Membuat collection

 Tampilkan database

 Tampilkan collection
 Tambahkan 1 collection lagi

 Mendapatkan info mengenai collcetion


 Mengambil semua document

 Mengambil jumlah document

 Mengambil total ukuran document

 Menghapus document
Manipulasi Data
 Gunakan database toko_online

 Buat beberapa collection


Data Model
 Model data diperlukan untuk migrasi data dalam bentuk
tabel ke bentuk collection
 Memahami manfaat penggunaan document database
 Model data dalam document database mengacu pada
penggunaan aplikasi dalam melakukan query, update dan
pemrosesan data
Skema MongoDB
 Skema fleksibel, untuk memasukkan data ke collection dapat secara
langsung tanpa mendefinisikan skema terlebih dahulu
 Collection di MongoDB untuk setiap document bisa berbeda
 Namun dalam prakteknya, sangat direkomendasikan menggunakan
jenis data yang sama untuk setiap collection
Primary Key
 Primary key wajib saat membuat document di MongoDB.
 Kolom primary key pada MongoDb wajib menggunakan
field _id
 MongoDB hanya boleh terdiri dari 1 primary key
Embedded document

Reference document
Penggunaan Jenis Document
Embedded Reference
 Ketergantungan antar document  Tidak ada ketergantungan antar
 Perubahan tidak bisa dilakukan document
secara langsung  Dapat melakukan manipulasi data
 Ketika mengambil satu data pada secara langsung
embedded maka semua data akan  Ketika mengambisatu data tidak
ikut terambil perlu mengambil data yang lain
BSON
 BSON (Binary JSON) : binary-encoded serialization dokumen
seperti JSON
 Sama halnya dengan JSON, BSON juga bisa menggunakn object,
array dan lain-lain
 http://bsonspec.org
Tipe Data BSON
Tipe Data Alias
Double double
String string
Object object
Array array
Binary Data binData
ObjectId objectId
Boolean bool
Date date
Null null
Regular Expression regex
JavaScript javascript
JavaScript with Scope javascriptWithScope
32 Bit Integer int
Timestamp timestamp
64 Bit Integer long
Decimal 128 decimal
Min Key minKy
Max Key maxKey
ObjectId
 ObjectId adalah random data yang unik, cepat untuk digenerate dan
terurut
 Nilai ObjectId memiliki ukuran panjang 12 byte, konsisten terdiri
dari informasi 4 byte timestamp, 5 byte random, dan 3 byte
increment counter
 ObjectId digunakan sebagai devaluefault_id (primary key) di
document jika kita tidak secara ekspilit menyebutkan _id document
nya
Date dan ISODate
 BSON Date adalah 64 bit integer yang merepresentasikan angka
milisecond sejak unix epoch (1 Januari 1970)
 Nilai ini merepresentasikan waktu dengan jarak 290 juta cahaya sebelum
dan sesudah unix epoch
 ISODate merupakan representasi waktu yang digunakan oleh MongoDB
 Date ini kompatibel dengan Date di Javascript
Insert Document
 Dalam MongoDB data disimpan dengan membuat document JSON
terlebih dahulu
 Field _id tidak wajib diisi karena akan secara otomatis terisi dengan
membuat _id baru secara random menggunakan tipe data ObjectId
 ObjectId baru bisa dimasukkan secara eksplisit dengan perintah =
new ObjectId()
Insert Document Function
Function Keterangan
db.<collection>.insertOne(document) Menambah dokumen ke collection
db.<collection>.insertMany(array<document>) Menambah semua dokumen di array ke collection
db.<collection>.insert(document/array) Menambah satu dokumen atau banyak dokumen
 Insert collection

 Melihat isi document pelanggan

 Memasukkan lebih dari satu data


 Insert beberapa data lagi

 Insert data pada document pesanan


Query Document
 Mencari berdasarkan id

 Mencari beberapa collection


Operator Query Perbandingan
Operator Keterangan
$eq Membandingkan value dengan value lain
$gt Membandingkan value lebih besar dari value lain
$gte Membandingkan value lebih besar atau sama dengan value lain
$lt Membandingkan value lebih kecil dari value lain
$lte Membandingkan value lebih kecil atau sama dengan value lain
$in Membandingkan value dengan value yang ada dalam array
$nin Membandingkan value yang tidak ada di dalam array
$ne Membandingkan value yang tidak sama dengan value lain
 Lebih besar

 Sama dengan

 Mencari dalam array

 Mencari dalam array dengan operator AND


Logical Query Operator
Operator Keterangan
$and Menggabungkan query dengan operasi AND, mengembalikan document jika semua kondisi
benar
$or Menggabungkan query dengan operasi OR, mengembalikan document jika salah satu kondisi
benar
$nor Menggabungkan query denagn operasi NOR, mengembalikan document apabila semua kondisi
salah
$not Mengembalikan kondisi, mengembalikan document yang tidak sesuai dengan kondisi
 Perintah NOT

 Perintah AND

 Perintah OR
Query Operator Array
Operator Keterangan
$all Mencocokan array yang mengandung
$elemMatch Mengambil document jika tiap elemen di array
memenuhi kondisi tertentu
$size Mengambil document jika ukuran array sesuai
Syntax
 $all

 $elemMatch

 Size
 Insert data yang mengandung array

 Method $all

 Method $elemMatch

 Method size
Update Document
 Berbeda dengan SQL, untuk melakukan update di MongoDB
menggunkan beberapa function
 Function yan digunakan : db.<collection>.<updateFunction>()

Operator Keterangan
updateOne() Mengubah satu document
updateMany() Mengubah banyak document sekaligus
replaceOne() Mengubah total satu document dengan document baru
Syntax
 updateOne

 updateMany

 replaceOne
 updateOne

 updateMany (1)

 updateMany (2)

 updateMany (3)

Anda mungkin juga menyukai