MongoDB adalah database NoSQL populer yang banyak digunakan untuk menyimpan dan memanipulasi data dalam jumlah besar. Dikenal karena fleksibilitas, skalabilitas, dan kinerjanya, menjadikannya pilihan yang bagus untuk berbagai aplikasi.
Dalam artikel ini, kita akan melihat cara menyambungkan ke database MongoDB dengan Python menggunakan pustaka `pymongo`, yang merupakan Sopir MongoDB untuk Python. Kami juga akan membahas beberapa operasi dasar seperti memasukkan data, menanyakan basis data, dan memperbarui dokumen.
Prasyarat
Sebelum memulai, Anda harus menginstal yang berikut ini:
Python 3: Anda dapat mengunduh dan menginstal Python dari situs web resmi (https:// www.python.org/). Pastikan untuk menginstal versi terbaru Python. MongoDB: Anda dapat mengunduh dan menginstal MongoDB dari situs web resmi (https://www.mongodb.com/). Anda juga perlu menyiapkan server MongoDB dan membuat database. pustaka pymongo: Anda dapat memasang pustaka ini menggunakan `pip`, pengelola paket Python. Buka terminal dan jalankan perintah berikut:
pip install pymongoConnecting to the Database
Untuk terhubung ke database MongoDB, kita perlu mengimpor library `pymongo` dan membuat objek klien. Objek klien akan memungkinkan kita untuk terhubung ke server MongoDB dan melakukan operasi pada database.
Berikut adalah contoh cara membuat objek klien:
import pymongo # Hubungkan ke database client = pymongo.MongoClient(`mongodb:// localhost:27017/`)1234import pymongo # Hubungkan ke databaseclient = pymongo.MongoClient(`mongodb://localhost:27017/`)
Ini akan membuat objek klien yang terhubung ke server MongoDB berjalan di mesin lokal secara default pelabuhan (27017). Fungsi `MongoClient()` menggunakan string koneksi sebagai argumen, yang menentukan nama host dan port server MongoDB.
Setelah Anda membuat objek klien, Anda dapat menggunakannya untuk mengakses database dan koleksi di server MongoDB.
Inserting Data
Untuk menyisipkan data ke dalam koleksi di MongoDB, Anda dapat menggunakan metode `insert_one()` atau `insert_many()` dari objek koleksi. `test` database db = client[`test`] # Dapatkan koleksi `users` users = db[`users`] # Masukkan satu dokumen result = users.insert_one({ `name`: `John Smith`, `email `: `john@example.com` }) print(result.inserted_id)12345678910111213# Sambungkan ke `test` databasedb = client[`test`] # Get the `users` collectionusers = db[`users`] # Masukkan a satu documentresult = users.insert_one({ `name`: `John Smith`, `email`: `[email protected]`}) print(result.inserted_id)
nbs p
Ini akan menyisipkan satu dokumen ke koleksi `pengguna` dengan nama `John Smith` dan email `[email dilindungi]`. Properti insert_id dari objek hasil berisi ID unik dari dokumen yang disisipkan.
Anda juga dapat menyisipkan banyak dokumen sekaligus menggunakan metode `insert_many()`. Metode ini menggunakan daftar dokumen sebagai argumen.
Berikut adalah contoh cara menyisipkan banyak dokumen:
# Sisipkan banyak dokumen result = users.insert_many([ { `name`: `Jane Doe`, `email`: `jane @example.com` }, { `name`: `Bob Smith`, `email`: `bob@example.com` } ]) print(result.inserted_ids)12345678910111213# Insert multiple documentsresult = users.insert_many([ { ` name`: `Jane Doe`, `email`: `[email protected]` }, { `name`: `Bob Smith`, `email`: `[email protected]` }]) print(result.inserted_ids)
This akan memasukkan dua dokumen ke dalam koleksi `pengguna` dengan nama `Jane Doe` dan `Bob Smith` dan masing-masing alamat email. Properti `inserted_ids` dari objek hasil berisi daftar ID unik dari dokumen yang disisipkan.
Meminta Database
Untuk mengambil data dari koleksi di MongoDB, Anda dapat menggunakan metode `find()` dari objek koleksi. Metode ini mengembalikan objek kursor yang dapat diulangi untuk mengambil dokumen yang cocok dengan kueri.
Berikut adalah contoh cara mengambil semua dokumen dari koleksi:
# Temukan semua dokumen cursor = users.find() # Iterasi di atas kursor dan cetak dokumen untuk dokumen di kursor: print(doc)123456# Temukan semua dokumencursor = users.find() # Ulangi kursor dan cetak dokumenuntuk dokumen di kursor: print(doc)
Ini akan mengambil semua dokumen dari ` koleksi pengguna dan mencetaknya ke console.
Anda juga dapat menentukan filter untuk mengambil hanya dokumen yang cocok dengan kriteria yang ditentukan. Filter ditentukan sebagai kamus yang berisi nama bidang dan nilai untuk dicocokkan.
Berikut adalah contoh cara mengambil dokumen dengan nilai bidang tertentu:
# Temukan dokumen dengan nama "John Smith" cursor = users.find({ `name`: `John Smith`}) # Ulangi kursor dan cetak dokumen untuk dokumen di kursor: print(doc)123456# Temukan dokumen dengan nama "John Smith"cursor = users.find({`name` : `John Smith`}) # Ulangi kursor dan cetak dokumenuntuk dokumen di kursor: cetak(doc)
Ini akan mengambil semua dokumen dari koleksi `pengguna` dengan bidang nama sama dengan `John Smith`.
Anda juga bisa gunakan operator pembanding dalam filter untuk menentukan kriteria yang lebih kompleks. Misalnya, untuk mengambil dokumen yang bidang namanya dimulai dengan huruf “J”, Anda dapat menggunakan operator `$regex`:
# Temukan dokumen yang namanya dimulai dengan "J" cursor = users.find({`name`: {`$regex`: `^J`}}) # Ulangi kursor dan cetak dokumen untuk dokumen di kursor: print(doc)123456# Cari dokumen yang namanya dimulai dengan "J"cursor = users.find({` name`: {`$regex`: `^J`}})# Ulangi kursor dan cetak dokumen untuk dokumen di kursor: print(doc)
Memperbarui Dokumen
Untuk memperbarui dokumen dalam koleksi, Anda dapat menggunakan `update_one() ` atau `update_many()` method dari collection object.
Berikut adalah contoh cara mengupdate satu dokumen:
# Update email dari dokumen pertama result = users.update_one({`name`: `John Smith`} , {`$set`: {`email`: `john.smith@example.com`}}) print(result.modified_count)1234# Perbarui email pertama documentresult = users.update_one({`name`: ` John Smith`}, {`$set`: {`email`: `[email prot ected]`}}) print(result.modified_count)
Ini akan memperbarui bidang email dari dokumen pertama yang cocok dengan filter `{`name`: `John Smith`}`. Properti `modified_count` dari objek hasil berisi jumlah dokumen yang telah dimodifikasi.
Anda juga dapat memperbarui banyak dokumen sekaligus menggunakan metode `update_many()`. Metode ini menggunakan filter dan memperbarui dokumen sebagai argumen.
Berikut adalah contoh cara memperbarui banyak dokumen:
# Perbarui email semua dokumen result = users.update_many({}, {`$set`: {`email` : `john.smith@example.com`}}) print(result.modified_count)1234# Perbarui email semua dokumenresult = users.update_many({}, {`$set`: {`email`: `[email protected ]`}}) print(result.modified_count)
Ini akan memperbarui kolom email semua dokumen dalam koleksi `users` menjadi `[email protected]`. Menutup Koneksi
Menutup Koneksi
Setelah Anda selesai bekerja dengan database, sebaiknya tutup koneksi untuk melepaskan sumber daya. Untuk menutup koneksi, Anda dapat memanggil metode `close()` dari objek klien.
Berikut adalah contoh cara menutup koneksi:
# Tutup koneksi client.close()12# Tutup koneksiclient.close()
Itu dia! Anda sekarang telah belajar cara terhubung ke database MongoDB dengan Python, menyisipkan data, mengkueri database, dan memperbarui dokumen. Dengan keterampilan ini, Anda seharusnya dapat mulai membuat aplikasi yang menyimpan dan memanipulasi data menggunakan MongoDB.
Referensi tecadmin.com