Cara Menghubungkan Pangkalan Data MongoDB di Python

Cara Menghubungkan Pangkalan Data MongoDB di Python

MongoDB adalah pangkalan data NoSQL yang popular yang digunakan secara meluas untuk menyimpan dan memanipulasi sejumlah besar data. Ia terkenal dengan fleksibiliti, skalabilitas, dan prestasi, menjadikannya pilihan yang tepat untuk pelbagai aplikasi.

Dalam artikel ini, kita akan melihat cara menyambung ke pangkalan data MongoDB di Python menggunakan 'Pymongo' perpustakaan, yang merupakan pemandu mongodb untuk python. Kami juga akan merangkumi beberapa operasi asas seperti memasukkan data, menanyakan pangkalan data, dan mengemas kini dokumen.

Prasyarat

Sebelum kita mula, anda perlu memasang yang berikut:

  • Python 3: Anda boleh memuat turun dan memasang Python dari laman web rasmi (https: // www.python.org/). Pastikan untuk memasang versi terkini Python.
  • Mongodb: Anda boleh memuat turun dan memasang MongoDB dari laman web rasmi (https: // www.Mongodb.com/). Anda juga perlu menyediakan pelayan MongoDB dan membuat pangkalan data.
  • Perpustakaan Pymongo: Anda boleh memasang perpustakaan ini menggunakan 'Pip', pengurus pakej python. Buka terminal dan jalankan arahan berikut:
    PIP Pasang Pymongo  

Menyambung ke pangkalan data

Untuk menyambung ke pangkalan data MongoDB, kita perlu mengimport 'Pymongo' perpustakaan dan buat objek pelanggan. Objek Pelanggan akan membolehkan kami menyambung ke pelayan MongoDB dan melaksanakan operasi pada pangkalan data.

Berikut adalah contoh cara membuat objek pelanggan:

Import Pymongo # Sambung ke klien pangkalan data = Pymongo.MongoClient ('MongoDB: // localhost: 27017/')
1234Import Pymongo # Sambung ke DatabaseClient = Pymongo.MongoClient ('MongoDB: // localhost: 27017/')

Ini akan membuat objek klien yang disambungkan ke pelayan MongoDB yang berjalan pada mesin tempatan di port lalai (27017). The 'Mongoclient ()' fungsi mengambil rentetan sambungan sebagai hujah, yang menentukan nama hos dan pelabuhan pelayan MongoDB.

Sebaik sahaja anda telah membuat objek pelanggan, anda boleh menggunakannya untuk mengakses pangkalan data dan koleksi di pelayan MongoDB.

Memasukkan data

Untuk memasukkan data ke dalam koleksi di MongoDB, anda boleh menggunakan 'Insert_one ()' atau 'Insert_many ()' kaedah objek koleksi.

Berikut adalah contoh cara memasukkan satu dokumen ke dalam koleksi:

# Sambungkan ke pangkalan data 'ujian' db = klien ['ujian'] # dapatkan pengguna koleksi 'pengguna' = db ['users'] # masukkan hasil dokumen tunggal = pengguna.Insert_one ('Name': 'John Smith', 'Email': '[email protected] ') cetak (hasil.dimasukkan
12345678910111213# Sambungkan ke 'ujian' databasedb = client ['test'] # dapat.Insert_one ('Name': 'John Smith', 'E -mel': '[E -mel dilindungi]') Cetak (hasil.dimasukkan

Ini akan memasukkan satu dokumen ke dalam 'Pengguna' koleksi dengan nama 'John Smith' dan e -mel '[dilindungi e -mel]'. Harta yang dimasukkan dari objek hasil mengandungi ID unik dokumen yang dimasukkan.

Anda juga boleh memasukkan beberapa dokumen sekaligus menggunakan 'Insert_many ()' kaedah. Kaedah ini mengambil senarai dokumen sebagai hujah.

Berikut adalah contoh cara memasukkan pelbagai dokumen:

# Masukkan hasil pelbagai dokumen = pengguna.Insert_many (['name': 'jane doe', 'e -mel': '[email protected] ', ' name ':' bob smith ',' e -mel ':' [email protected] ']) cetak (hasil.dimasukkan
12345678910111213# Masukkan pelbagai dokumenResult = pengguna.Insert_many (['Name': 'Jane Doe', 'Email': '[E -mel dilindungi]', 'name': 'bob smith', 'e -mel': '[e -mel dilindungi]']) cetak ( hasil.dimasukkan

Ini akan memasukkan dua dokumen ke dalam 'Pengguna' koleksi dengan nama 'Jane Doe' dan 'Bob Smith' dan alamat e -mel masing -masing. The 'dimasukkan' harta objek hasil mengandungi senarai ID unik dokumen yang dimasukkan.

Menanyakan pangkalan data

Untuk mendapatkan data dari koleksi di MongoDB, anda boleh menggunakan 'cari()' kaedah objek koleksi. Kaedah ini mengembalikan objek kursor yang boleh diulang untuk mendapatkan dokumen yang sesuai dengan pertanyaan.

Berikut adalah contoh bagaimana untuk mendapatkan semua dokumen dari koleksi:

# Cari semua kursor dokumen = pengguna.Cari () # melepasi kursor dan cetak dokumen untuk DOC dalam kursor: cetak (doc)
123456# Cari semua dokumenCursor = pengguna.cari () # melepasi kursor dan cetak dokumen untuk doc dalam kursor: cetak (doc)

Ini akan mengambil semua dokumen dari 'Pengguna' Koleksi dan cetaknya ke konsol.

Anda juga boleh menentukan penapis untuk mengambil hanya dokumen yang sesuai dengan kriteria yang ditentukan. Penapis ditentukan sebagai kamus yang mengandungi nama dan nilai medan untuk dipadankan.

Berikut adalah contoh bagaimana untuk mendapatkan dokumen dengan nilai medan tertentu:

# Cari dokumen di mana namanya adalah "John Smith" kursor = pengguna.cari ('name': 'John Smith') # melepasi kursor dan cetak dokumen untuk Doc dalam kursor: cetak (doc)
123456# Cari dokumen di mana namanya adalah "John Smith" kursor = pengguna.cari ('name': 'John Smith') # melepasi kursor dan cetak dokumen untuk doc dalam kursor: cetak (doc)

Ini akan mengambil semua dokumen dari 'Pengguna' koleksi di mana medan nama sama dengan 'John Smith'.

Anda juga boleh menggunakan pengendali perbandingan dalam penapis untuk menentukan kriteria yang lebih kompleks. Contohnya, untuk mendapatkan dokumen di mana medan nama bermula dengan huruf tersebut "J", anda boleh menggunakan '$ regex' Operator:

# Cari dokumen di mana nama bermula dengan "J" kursor = pengguna.cari ('name': '$ regex': '^j') # melepasi kursor dan cetak dokumen untuk doc dalam kursor: cetak (doc)
123456# Cari dokumen di mana nama bermula dengan "J" kursor = pengguna.cari ('name': '$ regex': '^j') # iterate atas kursor dan cetak dokumen untuk doc dalam kursor: cetak (doc)

Mengemas kini dokumen

Untuk mengemas kini dokumen dalam koleksi, anda boleh menggunakan 'update_one ()' atau 'update_many ()' kaedah objek koleksi.

Berikut adalah contoh cara mengemas kini satu dokumen:

# Kemas kini e -mel hasil dokumen pertama = pengguna.update_one ('name': 'John Smith', '$ set': 'e -mel': '[email protected] ') cetak (hasil.Modified_count)
1234# Kemas kini e -mel Dokumen Pertama = Pengguna.update_one ('name': 'John Smith', '$ set': 'email': '[e -mel dilindungi]') cetak (hasil.Modified_count)

Ini akan mengemas kini medan e -mel dokumen pertama yang sepadan dengan penapis '' name ':' John Smith ''. The 'Modified_count' harta objek hasil mengandungi bilangan dokumen yang diubah suai.

Anda juga boleh mengemas kini beberapa dokumen sekaligus menggunakan 'update_many ()' kaedah. Kaedah ini mengambil penapis dan dokumen kemas kini sebagai hujah.

Berikut adalah contoh cara mengemas kini pelbagai dokumen:

# Kemas kini e -mel dari semua dokumen hasil = pengguna.update_many (, '$ set': 'email': '[email protected] ') cetak (hasil.Modified_count)
1234# Kemas kini e -mel semua DokumenResult = Pengguna.update_many (, '$ set': 'email': '[e -mel dilindungi]') cetak (hasil.Modified_count)

Ini akan mengemas kini medan e -mel semua dokumen di 'Pengguna' koleksi ke '[dilindungi e -mel]'.
Menutup sambungan

Menutup sambungan

Sebaik sahaja anda selesai bekerja dengan pangkalan data, adalah idea yang baik untuk menutup sambungan untuk melepaskan sumber. Untuk menutup sambungan, anda boleh menghubungi 'Tutup ()' kaedah objek pelanggan.

Berikut adalah contoh cara menutup sambungan:

# Tutup pelanggan sambungan.Tutup ()
12# Tutup ConnectionClient.Tutup ()

Itu sahaja! Anda kini telah belajar bagaimana untuk menyambung ke pangkalan data MongoDB di Python, masukkan data, menanyakan pangkalan data, dan mengemas kini dokumen. Dengan kemahiran ini, anda harus dapat memulakan aplikasi bangunan yang menyimpan dan memanipulasi data menggunakan MongoDB.