Distribusi PyMongo berisi alat untuk berinteraksi dengan database MongoDB dari Python. Paket bson
adalah implementasi format BSON untuk Python. Paket pymongo
adalah driver Python asli untuk MongoDB. Paket gridfs
adalah implementasi gridfs di atas pymongo
.
PyMongo mendukung MongoDB 4.0, 4.2, 4.4, 5.0, 6.0, 7.0, dan 8.0.
Untuk masalah, pertanyaan tentang, atau masukan untuk PyMongo, silakan lihat saluran dukungan kami. Harap jangan mengirim email langsung ke pengembang PyMongo mana pun jika ada masalah atau pertanyaan - kemungkinan besar Anda akan mendapatkan jawaban di StackOverflow (menggunakan tag "mongodb").
Anda pikir Anda menemukan bug? Ingin melihat fitur baru di PyMongo? Silakan buka kasus di alat manajemen masalah kami, JIRA:
Laporan bug di JIRA untuk semua proyek driver (yaitu PYTHON, CSHARP, JAVA) dan proyek Core Server (yaitu SERVER) bersifat publik .
Harap sertakan semua informasi berikut saat membuka terbitan:
Langkah-langkah terperinci untuk mereproduksi masalah, termasuk penelusuran balik penuh, jika memungkinkan.
Versi python yang tepat digunakan, dengan level patch:
python -c " import sys; print(sys.version) "
python -c " import pymongo; print(pymongo.version); print(pymongo.has_c()) "
Sistem operasi dan versinya (misalnya Windows 7, OSX 10.8, ...)
Kerangka web atau pustaka jaringan asinkron digunakan, jika ada, dengan versi (misalnya Django 1.7, mod_wsgi 4.3.0, gevent 1.0.1, Tornado 4.0.2, ...)
Jika Anda mengidentifikasi kerentanan keamanan pada driver atau proyek MongoDB lainnya, harap laporkan sesuai dengan petunjuk di sini.
PyMongo dapat diinstal dengan pip:
python -m pip install pymongo
Anda juga dapat mengunduh sumber proyek dan melakukan:
pip install .
Jangan instal paket "bson" dari pypi. PyMongo hadir dengan paket bsonnya sendiri; menjalankan "pip install bson" menginstal paket pihak ketiga yang tidak kompatibel dengan PyMongo.
PyMongo mendukung CPython 3.9+ dan PyPy3.9+.
Ketergantungan yang diperlukan:
Dukungan untuk mongodb+srv://
URI memerlukan dnspython
Ketergantungan opsional:
Autentikasi GSSAPI memerlukan pykerberos di Unix atau WinKerberos di Windows. Ketergantungan yang benar dapat diinstal secara otomatis bersama dengan PyMongo:
python -m pip install " pymongo[gssapi] "
Otentikasi MONGODB-AWS memerlukan pymongo-auth-aws:
python -m pip install " pymongo[aws] "
OCSP (Protokol Status Sertifikat Online) memerlukan PyOpenSSL, permintaan, identitas_layanan dan mungkin memerlukan sertifikasi:
python -m pip install " pymongo[ocsp] "
Kompresi protokol kawat dengan snappy memerlukan python-snappy:
python -m pip install " pymongo[snappy] "
Kompresi protokol kawat dengan zstandard memerlukan zstandard:
python -m pip install " pymongo[zstd] "
Enkripsi Tingkat Bidang Sisi Klien memerlukan pymongocrypt dan pymongo-auth-aws:
python -m pip install " pymongo[encryption] "
Anda dapat menginstal semua dependensi secara otomatis dengan perintah berikut:
python -m pip install " pymongo[gssapi,aws,ocsp,snappy,zstd,encryption] "
Ketergantungan tambahan adalah:
Berikut adalah contoh dasar (untuk lebih lanjut lihat bagian contoh di dokumen):
>>> import pymongo
>>> client = pymongo.MongoClient( " localhost " , 27017 )
>>> db = client.test
>>> db.name
'test'
>>> db.my_collection
Collection(Database(MongoClient('localhost', 27017), 'test'), 'my_collection')
>>> db.my_collection.insert_one({ " x " : 10 }).inserted_id
ObjectId('4aba15ebe23f6b53b0000000')
>>> db.my_collection.insert_one({ " x " : 8 }).inserted_id
ObjectId('4aba160ee23f6b543e000000')
>>> db.my_collection.insert_one({ " x " : 11 }).inserted_id
ObjectId('4aba160ee23f6b543e000002')
>>> db.my_collection.find_one()
{'x': 10, '_id': ObjectId('4aba15ebe23f6b53b0000000')}
>>> for item in db.my_collection.find():
... print (item[ " x " ])
...
10
8
11
>>> db.my_collection.create_index( " x " )
'x_1'
>>> for item in db.my_collection.find().sort( " x " , pymongo. ASCENDING ):
... print (item[ " x " ])
...
8
10
11
>>> [item[ " x " ] for item in db.my_collection.find().limit( 2 ).skip( 1 )]
[8, 11]
Dokumentasi tersedia di pymongo.readthedocs.io.
Dokumentasi dapat dihasilkan dengan menjalankan pip install hatch; menetas jalankan doc:build . Dokumentasi yang dihasilkan dapat ditemukan di direktori doc/build/html/
.
Cara termudah untuk menjalankan pengujian adalah dengan menjalankan hatch run test:test * di root distribusi. Misalnya,
pip install hatch
hatch run test:test