Mengenal MongoDB

MongoDB merupakan sebuah database yang menggunakan konsep NoSQL. Jika dibandingkan dengan MySQL yang menggunakan tabel dan baris/kolom, MongoDB menggunakan konsep collections dan documents.

Tool MongoDB

MongoDB Atlas
  1. Database as a Service.
  2. Mempermudah penyiapan dan manajemen database.
  3. Terdapat free tier yang digunakan untuk ujicoba maupun penggunaan skala kecil.
  4. Dapat digunakan untuk deployment skala besar dengan pilihan paket yang tersedia.
Mengenal MongoDB

MongoDB Compass

  1. Merupakan Graphical User Interface yang dapat digunakan untuk berinteraksi MongoDB
  2. Tidak diperlukan pengetahuan mendalam tentang syntax query MongoDB
  3. Dapat digunakan untuk:
    • Melakukan optimasi query
    • Manajemen index
    • Eksplorasi data
Mengenal MongoDB

Mongo Shell
Merupakan interface berbasis JavaScript yang digunakan untuk berinteraksi dengan MongoDB mulai dari koneksi ke database, melakukan query dan update data, hingga melakukan import data.

Pembuatan Database MongoDB

Persiapan
  1. Membuat akun MongoDB Atlas.
    • Masuk ke link https://www.mongodb.com/cloud/atlas/register dan pilih Sign Up with Google.
  2. Membuat Cluster MongoDB
    • Saat terbuka menu pembuatan cluster, pilih Shared Cluster dan klik Create a Cluster.
    • Setelah cluster selesai dibuat, pilih collections dan pilih Create Database. Masukkan nama database simpleBank nama collection customers, kemudian klik Create.
  3. Konfigurasi MongoDB Atlas agar dapat diakses secara remote.
    • Database Access. Pada bagian Security, pilih Database Access, kemudian klik Add New Database User. Pilih metode autentikasi Password, masukkan username dan password kemudian klik Add User.
    • Network Access. Pada bagian Security, pilih Network Access, kemudian klik Add IP Address. Pilih Allow Access From Anywhere, kemudian klik Confirm.
  4. Menginstall MongoDB Shell dan menghubungkannya dengan mongo shell.
    • Unduh di https://www.mongodb.com/try/download/community dan kemudian install di komputer anda.
    • Pada dashboard cluster, pilih connect dan pilih Connect with the mongoshell.
    • Salin mongo "mongodb+srv://bank.sjqxg.mongodb.net/<dbname>" --username
    • <username> kemudian salin ke CMD dan hapus <dbname>. Kemudian ganti
    • <username> sesuai dengan database user yang telah dibuat.
    • Masukkan password sesuai dengan database user yang telah dibuat.
  5. Menginstall MongoDB Compass dan menghubungkannya dengan MongoDB Atlas
    • Unduh di https://www.mongodb.com/try/download/compass dan kemudian install di komputer anda
    • Pada dashboard cluster, pilih connect dan pilih Connect using MongoDB Compass
    • Salin mongodb+srv://root:<password>@bank.sjqxg.mongodb.net/test
    • Buka aplikasi MongoDB Compass, kemudian tempelkan link tersebut di New Connection.
    • Ubah <password> sesuai dengan database user dan klik Connect.

Konfigurasi Database
Buat database baru dengan nama "simpleBank" menggunakan mongo shell.
  • use simpleBank;
  • Apabila database simpleBank belum dibuat, perintah tersebut akan secara otomatis membuat database baru. Apabila database dengan nama simpleBank sudah dibuat, database tersebut akan digunakan.

Create Data menggunakan mongoshell

1 Buat collection baru dengan nama "customers" dengan field first_name, last_name, customer_type, street, city, state, zip_code , phone_number:

db.customers.insertOne({
first_name: “John”,
last_name: “Doe”,
age: 21
customer_type: “student”, street: “Jalan Grafika No. 2”, city: “Sleman”,
state: “Yogyakarta”,
zip_code: “55281”,
phone_number: “082222222222”,
})

2. Buat collection baru dengan nama "accounts" dengan field customer_id, account_number, balance, 

account_type:
db.accounts.insertOne({
customer_id: ObjectId(“5f21933aac98789ce581f393”),
account_number: “7891234”,
balance: 15000000,
account_type: “savings”
})

3. Buat collection baru dengan nama "transactions" dengan field account_id, amount, date, description:

db.transactions.insertOne({
account_id: ObjectId(“5f2194e4ac98789ce581f394”),
amount: 2000000,
date: 2020-07-28T17:00:00.000+00:00,
description: “Monthly Allowance”
})

4. Untuk memasukkan satu data ke collection, gunakan insertOne, untuk memasukkan banyak data ke collection, gunakan insertMany.

5. Saat menggunakan insertMany, data yang dimasukkan berupa array of objects.

db.customers.insertMany([
{ first_name: “John”, last_name: “Doe”, age: 21, customer_type: “student”, street: “Jalan Grafika No. 2”, city: “Sleman”, state:
“Yogyakarta”, zip_code: “55281”,phone number: “082222222222” },
{ first_name: “Second”, last_name: “User”, age: 32, customer_type: “employee”, street: “Jalan Palagan”, city: “Sleman”, state: “Yogyakarta”, zip_code: “55581”,phone_number: “082111111111” }
])

Read Data menggunakan mongoshell

1. Menampilkan seluruh data dalam collection customers
db.customers.find({}).pretty();

2. Menampilkan data dengan query tertentu. Misal first_name: John
db.customers.find({first_name: “John”}).pretty();

3. Menampilkan data dengan query tertentu menggunakan aggregation. Misal umur customer lebih dari 30.
db.customers.find({age: {$gt: 30}}).pretty();

Update Data menggunakan mongoshell

1. Mengubah salah satu data menggunakan updateOne. Misalnya mengubah umur customer dengan first_name John menjadi 40 tahun.

db.customers.updateOne(
{ first_name: “John” },
{ $set: { age: 40 } },
);

2. Mengubah banyak data menggunakan updateMany. Misal mengubah customer_type yang berumur diatas 30 tahun menjadi employee. db.customers.updateMany(
{ age: { $gt: 30 } },
{ $set: { customer_type: “employee” } },
)

Delete Data menggunakan mongoshell

1. Menghapus salah satu data menggunakan deleteOne. Misalnya menghapus data customer dengan _id: 

5f2236cec29f9c15db632606.
db.customers.deleteOne({
_id: “5f2236cec29f9c15db632606”
})

2. Menghapus banyak data menggunakan deleteMany. Misalnya menghapus data customer dengan umur kurang dari 35 tahun.

db.customers.deleteMany({
age: { $lt: 35 }
})

Konfigurasi Database
Buat database baru dengan nama "simpleBank" dan collection “customers” menggunakan MongoDB Compass.

Mengenal MongoDB

Create Data di MongoDB Compass
  1. Pilih database simpleBank dan collection customers, kemudian klik Add Data.
  2. Masukkan data dengan field first_name, last_name, customer_type, street, city, state, zip_code , phone_number.Mengenal MongoDB
  3. Untuk memasukkan banyak data ke collections, gunakan mode.
  4. Saat menggunakan mode JSON, data yang dimasukkan berupa array of objects.Mengenal MongoDB

Baca Juga : Memahami Elasticsearch

Read Data di MongoDB Compass
  1. Seluruh data pada suatu collection akan langsung ditampilkan di MongoDB Compass
  2. Menampilkan data dengan query tertentu dapat menggunakan filter. Misal first_name: JohnMengenal MongoDB
  3. Menampilkan data dengan query tertentu dapat menggunakan aggregation pada filter. Misal umur customer lebih dari 30.Mengenal MongoDB
  4. Mengubah salah satu data dapat dilakukan dengan mengklik Edit.Mengenal MongoDB

Delete Data di MongoDB Compass
Menghapus salah satu data dapat dilakukan dengan mengklik Delete.

Mengenal MongoDB