python mongodb
Big Data, Database

Tutorial MongoDB – Manajemen MongoDB dengan Python

Pengembangan aplikasi biasanya tidak hanya sekedar membutuhkan bahasa pemrograman tetapi juga membutuhkan database untuk mengelola datanya

Di beberapa materi sebelumnya kita sudah belajar dasar pemrograman Python dan MongoDB

Selanjutnya di artikel ini akan kita kembangkan dengan mengkolaborasikan bahasa pemrograman Python dengan database MongoDB

Dengan kolaborasi ini kita tidak perlu membuat database dan collection atau melakukan manipulasi data di database MongoDB secara langsung tetapi melalui program Python

Sama seperti materi Python dan MySQL, kolaborasi Python dengan MongoDB juga membutuhkan library

Library yang banyak digunakan adalah PyMongo

PyMongo

Python membutuhkan driver MongoDB untuk mengakses database MongoDB. Driver official yang diterbitkan oleh pengembang MongoDB disebut PyMongo

Untuk menginstall PyMongo gunakan PIP atau CONDA

Buka terminal dan ketik perintah berikut

pip install pymongo
python mongodb

Untuk menggunakannya gunakan perintah berikut

import pymongo

Setelah sukses installasi PyMongo selanjutnya kita dapat membuat database, collection dan melakukan proses insert, update, delete dan sebagainya di database MongoDB melalui Python

Membuat Database dan Collection

Pertama kita akan coba membuat database dan collection MongoDB menggunakan Python

Untuk membuat database di MongoDB, buatlah objek MongoClient dan tentukan URL koneksi database dan buat nama database-nya

import pymongo

db = pymongo.MongoClient("mongodb://localhost:27017/")

dbku = db["blog"]

Coba jalankan script diatas maka database baru dengan nama blog akan terbuat

Tetapi jika kita cek database baru tersebut tidak akan terlihat karena belum ada document yang ada

Selanjutnya coba kita buat 1 collection dengan nama artikel dengan 1 record document yang berisi judul artikel dan penulisnya

Data document ditulis dengan bentuk json dengan format key-value dan membutuhkan fungsi insert_one() untuk menambah 1 document ke datase

import pymongo

db = pymongo.MongoClient("mongodb://localhost:27017/")

# database
dbku = db["blog"]
# collection
collectionku = dbku['artikel']

# data yang akan diinsert
data = { "judul": "belajar ngoding python-mongodb", "penulis": "Faqih" }

# data diinsert
collectionku.insert_one(data)

Jika kita cek di database MongoDB maka database, collection dan document sudah ada

python mongodb

Atau jika kita cek di MongoDB Compass akan sama seperti kita cek di console

python mongodb

Manipulasi Data

Kita juga bisa melakukan manipulasi data seperti menambahkan, mengupdate, menghapus, mengurutkan data dan sebagainya

Insert data

Penambahan data/document sudah dijelaskan pada subbab sebelumnya

Data yang ingin ditambahkan harus berbentuk key-value dengan format JSON dan digunakan fungsi insert_one() untuk menambah satu data

untuk menambahkan data dengan jumlah banyak maka data perlu dibungkus ke dalam array terlebih dahulu dan digunakan fungsi insert_many() untuk menambah data tersebut ke database

Misal kita ingin menambahkan beberapa data baru

judul : Tutorial perulangan di Python -> penulis : Hamami
judul : Tutorial percabangan di Python -> penulis : Hamami
judul : Memahami konsep NoSQL -> penulis : Ina
judul : Instalasi NoSQL di Ubuntu -> penulis : Ina

Maka kode Python akan seperti ini

import pymongo

db = pymongo.MongoClient("mongodb://localhost:27017/")

dbku = db["blog"]
collectionku = dbku['artikel']

data = [
    { "judul": "Tutorial perulangan di Python", "penulis": "Hamami" },
    { "judul": "Tutorial percabangan di Python", "penulis": "Hamami" },
    { "judul": "Memahami konsep NoSQL", "penulis": "Ina" },
    { "judul": "Instalasi NoSQL di Ubuntu", "penulis": "Ina" }
]

collectionku.insert_many(data)

Dan jika dicek hasilnya adalah

Update data

Sama seperti insert data, fungsi update juga memberikan 2 pilihan yaitu update_one() dan update_many()

# Contoh update_one()

Misal kita ingin merubah salah satu judul artikel yaitu “belajar ngoding python-mongodb” menjadi “belajar ngoding kolaborasi python & mongodb

import pymongo

db = pymongo.MongoClient("mongodb://localhost:27017/")

dbku = db["blog"]
collectionku = dbku['artikel']


nilai_lama = { "judul": "belajar ngoding python-mongodb" }
nilai_baru = { "$set": { "judul": "belajar ngoding kolaborasi python & mongodb" } }

collectionku.update_one(nilai_lama, nilai_baru)

Hasilnya adalah

python mongodb

# Contoh update_many()

Misal ingin merubah nama author yang lebih dari satu document gunakan update_many()

contoh kita rubah penulis Ina menjadi Inara

python mongodb

Bagaimana jika kita menggunakan update_one() untuk merubah beberapa nilai yang sama? Maka yang berubah hanya 1 document yang paling atas saja

Find data

Untuk mencari data gunakan fungsi find() di dalam perulangan

import pymongo

db = pymongo.MongoClient("mongodb://localhost:27017/")

dbku = db["blog"]
collectionku = dbku['artikel']

for artikel in collectionku.find():
  print(artikel)

Hasilnya

Delete data

Untuk menghapus data gunakan fungsi delete_one() untuk menghapus 1 document atau delete_many() untuk menghapus banyak document

Contoh delete_one()

import pymongo

db = pymongo.MongoClient("mongodb://localhost:27017/")

dbku = db["blog"]
collectionku = dbku['artikel']

nilai = { "judul": "Instalasi NoSQL di Ubuntu" }

collectionku.delete_one(nilai)

Contoh delete_many()

import pymongo

db = pymongo.MongoClient("mongodb://localhost:27017/")

dbku = db["blog"]
collectionku = dbku['artikel']

nilai = { "penulis": "Hamami" }

collectionku.delete_many(nilai)

Oke.. Selamat anda telah menyelesaikan materi MongoDB selanjutnya silahkan berkreasi untuk membuat aplikasi sederhana dengan kombinasi Python dan database MongoDB 😀

Beberapa materi MongoDB antara lain

Leave a Reply

Your email address will not be published. Required fields are marked *