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
Contents
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
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
Atau jika kita cek di MongoDB Compass akan sama seperti kita cek di console
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
# Contoh update_many()
Misal ingin merubah nama author yang lebih dari satu document gunakan update_many()
contoh kita rubah penulis Ina menjadi Inara
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