يحتوي توزيع PyMongo على أدوات للتفاعل مع قاعدة بيانات MongoDB من Python. حزمة bson
هي تطبيق لتنسيق BSON لـ Python. حزمة pymongo
هي برنامج تشغيل Python أصلي لـ MongoDB. حزمة gridfs
عبارة عن تطبيق Gridfs أعلى pymongo
.
يدعم PyMongo الإصدارات MongoDB 4.0 و4.2 و4.4 و5.0 و6.0 و7.0 و8.0.
بالنسبة للمشكلات أو الأسئلة أو التعليقات المتعلقة بـ PyMongo، يرجى الاطلاع على قنوات الدعم لدينا. يرجى عدم إرسال بريد إلكتروني إلى أي من مطوري PyMongo مباشرةً بشأن المشكلات أو الأسئلة - فمن المرجح أن تحصل على إجابة على StackOverflow (باستخدام علامة "mongodb").
هل تعتقد أنك وجدت خطأ؟ هل تريد رؤية ميزة جديدة في PyMongo؟ يُرجى فتح حالة في أداة إدارة المشكلات الخاصة بنا، JIRA:
تقارير الأخطاء في JIRA لجميع مشاريع التشغيل (مثل PYTHON وCSHARP وJAVA) ومشروع Core Server (أي SERVER) متاحة للعامة .
يرجى تضمين جميع المعلومات التالية عند فتح العدد:
الخطوات التفصيلية لإعادة إظهار المشكلة، بما في ذلك التتبع الكامل، إذا أمكن.
إصدار بايثون المستخدم بالضبط، مع مستوى التصحيح:
python -c " import sys; print(sys.version) "
python -c " import pymongo; print(pymongo.version); print(pymongo.has_c()) "
نظام التشغيل والإصدار (مثل Windows 7، OSX 10.8، ...)
إطار عمل الويب أو مكتبة الشبكة غير المتزامنة المستخدمة، إن وجدت، مع الإصدار (على سبيل المثال Django 1.7، mod_wsgi 4.3.0، gevent 1.0.1، Tornado 4.0.2، ...)
إذا حددت ثغرة أمنية في برنامج التشغيل أو أي مشروع آخر في MongoDB، فيرجى الإبلاغ عنها وفقًا للتعليمات الواردة هنا.
يمكن تثبيت PyMongo باستخدام النقطة:
python -m pip install pymongo
يمكنك أيضًا تنزيل مصدر المشروع والقيام بما يلي:
pip install .
لا تقم بتثبيت حزمة "bson" من pypi. يأتي PyMongo مع حزمة bson الخاصة به؛ يؤدي تشغيل "pip install bson" إلى تثبيت حزمة جهة خارجية غير متوافقة مع PyMongo.
يدعم PyMongo CPython 3.9+ وPyPy3.9+.
التبعيات المطلوبة:
دعم mongodb+srv://
URIs يتطلب dnspython
التبعيات الاختيارية:
تتطلب مصادقة GSSAPI وجود pykerberos على Unix أو WinKerberos على Windows. يمكن تثبيت التبعية الصحيحة تلقائيًا مع PyMongo:
python -m pip install " pymongo[gssapi] "
تتطلب مصادقة MONGODB-AWS استخدام pymongo-auth-aws:
python -m pip install " pymongo[aws] "
يتطلب OCSP (بروتوكول حالة الشهادة عبر الإنترنت) PyOpenSSL والطلبات وservice_identity وقد يتطلب شهادة:
python -m pip install " pymongo[ocsp] "
يتطلب ضغط بروتوكول السلك باستخدام snappy استخدام python-snappy:
python -m pip install " pymongo[snappy] "
يتطلب ضغط بروتوكول السلك باستخدام zstandard استخدام zstandard:
python -m pip install " pymongo[zstd] "
يتطلب التشفير على مستوى الحقل من جانب العميل استخدام pymongocrypt وpymongo-auth-aws:
python -m pip install " pymongo[encryption] "
يمكنك تثبيت جميع التبعيات تلقائيًا باستخدام الأمر التالي:
python -m pip install " pymongo[gssapi,aws,ocsp,snappy,zstd,encryption] "
التبعيات الإضافية هي:
إليك مثال أساسي (لمزيد من المعلومات، راجع قسم الأمثلة في المستندات):
>>> 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]
الوثائق متاحة على pymongo.readthedocs.io.
يمكن إنشاء الوثائق عن طريق تشغيل فتحة تثبيت النقطة؛ فتحة تشغيل الوثيقة: بناء . يمكن العثور على الوثائق التي تم إنشاؤها في الدليل doc/build/html/
.
أسهل طريقة لإجراء الاختبارات هي تشغيل اختبار تشغيل Hatch:test * في جذر التوزيع. على سبيل المثال،
pip install hatch
hatch run test:test