unisbadri.com » Python Java Golang Typescript Kotlin Ruby Rust Dart PHP
MongoDB

MongoDB #

MongoDB adalah database NoSQL yang menggunakan model dokumen untuk menyimpan data dalam format JSON. MongoDB dirancang untuk skala besar, kinerja tinggi, dan fleksibilitas. Ini sangat cocok untuk aplikasi yang memerlukan penyimpanan data yang tidak terstruktur dan sering berubah.

Instalasi MongoDB #

Untuk menggunakan MongoDB, pertama-tama Anda perlu menginstalnya di mesin lokal atau di server. Anda dapat mengikuti langkah-langkah instalasi resmi dari situs MongoDB.

Instalasi pymongo #

Untuk berinteraksi dengan MongoDB dari Python, kita menggunakan library pymongo. Instal library ini menggunakan pip:

pip install pymongo

Menghubungkan ke MongoDB dan Operasi Dasar #

Berikut adalah contoh bagaimana menghubungkan ke MongoDB dan melakukan operasi dasar seperti menambah, mencari, dan menghapus dokumen.

Menghubungkan ke MongoDB #

from pymongo import MongoClient

# Membuat koneksi ke MongoDB
client = MongoClient('localhost', 27017)

# Mengakses database 'testdb'
db = client.testdb

Menambahkan Dokumen #

Untuk menambahkan dokumen ke koleksi:

# Mengakses koleksi 'testcollection'
collection = db.testcollection

# Menambahkan dokumen ke koleksi
doc = {
    'author': 'John Doe',
    'text': 'MongoDB adalah database NoSQL yang kuat',
    'timestamp': '2024-07-28T14:12:12'
}
result = collection.insert_one(doc)
print('Inserted document ID:', result.inserted_id)

Mencari Dokumen #

Untuk mencari dokumen berdasarkan kueri:

# Mencari dokumen dengan author 'John Doe'
result = collection.find_one({'author': 'John Doe'})
print(result)

Mengupdate Dokumen #

Untuk mengupdate dokumen yang ada:

# Mengupdate dokumen dengan author 'John Doe'
result = collection.update_one(
    {'author': 'John Doe'},
    {'$set': {'text': 'MongoDB sangat fleksibel'}}
)
print('Modified document count:', result.modified_count)

Menghapus Dokumen #

Untuk menghapus dokumen dari koleksi:

# Menghapus dokumen dengan author 'John Doe'
result = collection.delete_one({'author': 'John Doe'})
print('Deleted document count:', result.deleted_count)

Penggunaan Lanjutan MongoDB #

Menambahkan Banyak Dokumen #

Untuk menambahkan banyak dokumen sekaligus:

docs = [
    {'author': 'Jane Doe', 'text': 'Ini adalah dokumen kedua', 'timestamp': '2024-07-28T15:12:12'},
    {'author': 'John Smith', 'text': 'MongoDB sangat berguna untuk data tidak terstruktur', 'timestamp': '2024-07-28T16:12:12'}
]
result = collection.insert_many(docs)
print('Inserted document IDs:', result.inserted_ids)

Mencari Banyak Dokumen #

Untuk mencari banyak dokumen berdasarkan kueri:

# Mencari semua dokumen dengan author 'John Smith'
results = collection.find({'author': 'John Smith'})
for doc in results:
    print(doc)

Menggunakan Indeks #

Indeks dapat meningkatkan kinerja pencarian di MongoDB. Anda bisa membuat indeks pada satu atau beberapa field:

# Membuat indeks pada field 'author'
collection.create_index([('author', pymongo.ASCENDING)])

Agregasi #

Agregasi digunakan untuk melakukan operasi yang lebih kompleks seperti pengelompokan dan penghitungan:

# Menjalankan agregasi untuk menghitung jumlah dokumen per author
pipeline = [
    {'$group': {'_id': '$author', 'count': {'$sum': 1}}}
]
results = collection.aggregate(pipeline)
for result in results:
    print(result)

Kesimpulan #

MongoDB adalah database NoSQL yang sangat kuat dan fleksibel yang memungkinkan Anda untuk menyimpan dan mengelola data tidak terstruktur dengan mudah. Dengan library pymongo, Anda dapat dengan mudah mengintegrasikan MongoDB dengan aplikasi Python Anda dan melakukan berbagai operasi seperti menambah, mencari, mengupdate, dan menghapus dokumen. Untuk informasi lebih lanjut, Anda bisa merujuk ke dokumentasi resmi MongoDB dan pymongo.