Cara Menghubungkan Database MongoDB di Python
- 1012
- 137
- Luis Baumbach
MongoDB adalah database NoSQL populer yang banyak digunakan untuk menyimpan dan memanipulasi data dalam jumlah besar. Ini dikenal karena fleksibilitas, skalabilitas, dan kinerjanya, menjadikannya pilihan yang bagus untuk berbagai aplikasi.
Pada artikel ini, kita akan melihat cara terhubung ke database MongoDB di Python menggunakan 'pymongo'
Perpustakaan, yang merupakan pengemudi MongoDB untuk Python. Kami juga akan membahas beberapa operasi dasar seperti memasukkan data, menanyakan database, dan memperbarui dokumen.
Prasyarat
Sebelum kita mulai, Anda harus menginstal yang berikut:
- 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 mengatur server MongoDB dan membuat database.
- Perpustakaan Pymongo: Anda dapat menginstal pustaka ini menggunakan
'Pip'
, Manajer Paket Python. Buka terminal dan jalankan perintah berikut:Pip Instal Pymongo
Menghubungkan ke database
Untuk terhubung ke database MongoDB, kita perlu mengimpor 'pymongo'
perpustakaan dan buat objek klien. Objek klien akan memungkinkan kami untuk terhubung ke server MongoDB dan melakukan operasi pada database.
Berikut adalah contoh cara membuat objek klien:
Impor Pymongo # Sambungkan ke Klien Database = Pymongo.MongoClient ('MongoDB: // Localhost: 27017/')1234 | Impor Pymongo # Sambungkan ke DatabaseClient = Pymongo.MongoClient ('MongoDB: // Localhost: 27017/') |
Ini akan membuat objek klien yang terhubung ke server MongoDB yang berjalan di mesin lokal di port default (27017). Itu 'Mongoclient ()'
Fungsi mengambil string koneksi sebagai argumen, yang menentukan nama host dan port dari server MongoDB.
Setelah Anda membuat objek klien, Anda dapat menggunakannya untuk mengakses database dan koleksi di server MongoDB.
Memasukkan data
Untuk memasukkan data ke dalam koleksi di MongoDB, Anda dapat menggunakan 'insert_one ()'
atau 'insert_many ()'
Metode objek pengumpulan.
Berikut adalah contoh cara memasukkan satu dokumen ke dalam koleksi:
# Sambungkan ke database 'tes' db = klien ['test'] # Dapatkan pengguna koleksi 'pengguna' = db ['pengguna'] # masukkan hasil dokumen tunggal = pengguna.insert_one ('name': 'John Smith', 'Email': '[email protected] ') cetak (hasilnya.dimasukkan_id)12345678910111213 | # Sambungkan ke 'Test' DatabasedB = Client ['Test'] # Dapatkan 'Users' CollectionSers = DB ['Users'] # Masukkan satu DocumentResult = Pengguna.insert_one ('nama': 'John Smith', 'email': '[email dilindungi]') cetak (hasilnya.dimasukkan_id) |
Ini akan memasukkan satu dokumen ke dalam 'Pengguna'
Koleksi dengan namanya 'John Smith'
dan email '[email dilindungi]'
. Properti Inserted_id dari Objek Hasil berisi ID unik dari dokumen yang dimasukkan.
Anda juga dapat memasukkan beberapa dokumen sekaligus menggunakan 'insert_many ()'
metode. Metode ini mengambil daftar dokumen sebagai argumen.
Berikut adalah contoh cara memasukkan beberapa dokumen:
# Masukkan beberapa dokumen hasil = pengguna.insert_many (['name': 'Jane doe', 'email': '[email protected] ', ' name ':' bob smith ',' email ':' [email protected] ']) cetak (hasilnya.dimasukkan_ids)12345678910111213 | # Masukkan beberapa dokumenResult = pengguna.insert_many (['name': 'Jane doe', 'email': '[email dilindungi]', 'name': 'bob smith', 'email': '[email dilindungi]']) cetak ( hasil.dimasukkan_ids) |
Ini akan memasukkan dua dokumen ke dalam 'Pengguna'
koleksi dengan nama 'Jane Doe'
Dan 'Bob Smith'
dan alamat email masing -masing. Itu 'dimasukkan_ids'
Properti Objek Hasil berisi daftar ID unik dari dokumen yang dimasukkan.
Menanyakan database
Untuk mengambil data dari koleksi di MongoDB, Anda dapat menggunakan 'menemukan()'
Metode objek pengumpulan. Metode ini mengembalikan objek kursor yang dapat diulangi untuk mengambil dokumen yang sesuai dengan kueri.
Berikut adalah contoh cara mengambil semua dokumen dari koleksi:
# Temukan semua dokumen kursor = pengguna.find () # iterate over the cursor dan cetak dokumen untuk dokumen di kursor: cetak (doc)123456 | # Temukan semua dokumencursor = pengguna.find () # iterate over the cursor dan cetak dokumen untuk doc di kursor: cetak (doc) |
Ini akan mengambil semua dokumen dari 'Pengguna'
Koleksi dan cetaknya ke konsol.
Anda juga dapat menentukan filter untuk hanya mengambil dokumen yang sesuai dengan kriteria yang ditentukan. Filter ditentukan sebagai kamus yang berisi nama dan nilai bidang yang cocok.
Berikut adalah contoh cara mengambil dokumen dengan nilai bidang tertentu:
# Temukan dokumen di mana namanya adalah kursor "John Smith" = pengguna.Temukan ('Name': 'John Smith') # iterate Over the Cursor dan cetak dokumen untuk Doc di Cursor: Print (Doc)123456 | # Temukan dokumen di mana namanya adalah kursor "John Smith" = pengguna.Find ('Name': 'John Smith') # Itererate Over the Cursor dan cetak dokumen untuk dokumen di kursor: print (doc) |
Ini akan mengambil semua dokumen dari 'Pengguna'
koleksi di mana bidang nama sama dengan 'John Smith'
.
Anda juga dapat menggunakan operator perbandingan di filter untuk menentukan kriteria yang lebih kompleks. Misalnya, untuk mengambil dokumen di mana bidang nama dimulai dengan surat itu "J", Anda dapat menggunakan '$ regex'
operator:
123456 | # Temukan dokumen di mana nama dimulai dengan "j" kursor = pengguna.find ('name': '$ regex': '^j') # iterate over the cursor dan cetak dokumen untuk doc di kursor: print (doc) |
Memperbarui dokumen
Untuk memperbarui dokumen dalam koleksi, Anda dapat menggunakan 'update_one ()'
atau 'update_many ()'
Metode objek pengumpulan.
Berikut adalah contoh cara memperbarui satu dokumen:
# Perbarui email hasil dokumen pertama = pengguna.update_one ('name': 'John Smith', '$ set': 'email': '[email protected] ') cetak (hasilnya.Modified_count)1234 | # Perbarui email dari DocumentResult pertama =.update_one ('name': 'John Smith', '$ set': 'email': '[email dilindungi]') cetak (hasilnya.Modified_count) |
Ini akan memperbarui bidang email dari dokumen pertama yang cocok dengan filter '' name ':' John Smith ''
. Itu 'Modified_count'
properti dari objek hasil berisi jumlah dokumen yang dimodifikasi.
Anda juga dapat memperbarui beberapa dokumen sekaligus menggunakan 'update_many ()'
metode. Metode ini mengambil filter dan dokumen pembaruan sebagai argumen.
Berikut adalah contoh cara memperbarui beberapa dokumen:
# Perbarui email dari semua dokumen hasil = pengguna.update_many (, '$ set': 'email': '[email protected] ') cetak (hasilnya.Modified_count)1234 | # Perbarui email semua dokumenResult = pengguna.update_many (, '$ set': 'email': '[email dilindungi]') cetak (hasilnya.Modified_count) |
Ini akan memperbarui bidang email semua dokumen di 'Pengguna'
koleksi ke '[email dilindungi]'
.
Menutup koneksi
Menutup koneksi
Setelah Anda selesai bekerja dengan database, adalah ide yang baik untuk menutup koneksi untuk melepaskan sumber daya. Untuk menutup koneksi, Anda dapat memanggil 'menutup()'
Metode objek klien.
Berikut adalah contoh cara menutup koneksi:
# Tutup Klien Koneksi.menutup()12 | # Tutup ConnectionClient.menutup() |
Itu dia! Anda sekarang telah belajar cara terhubung ke database MongoDB di Python, memasukkan data, meminta database, dan memperbarui dokumen. Dengan keterampilan ini, Anda harus dapat mulai membangun aplikasi yang menyimpan dan memanipulasi data menggunakan MongoDB.
- « Cara mendefinisikan variabel global dalam python
- Tanggal dan waktu saat ini dalam tutorial mendalam Python »