PyMongo 배포판에는 Python에서 MongoDB 데이터베이스와 상호 작용하기 위한 도구가 포함되어 있습니다. bson
패키지는 Python용 BSON 형식을 구현한 것입니다. pymongo
패키지는 MongoDB용 기본 Python 드라이버입니다. gridfs
패키지는 pymongo
위에 Gridfs를 구현한 것입니다.
PyMongo는 MongoDB 4.0, 4.2, 4.4, 5.0, 6.0, 7.0 및 8.0을 지원합니다.
PyMongo에 대한 문제, 질문 또는 피드백이 있는 경우 지원 채널을 살펴보시기 바랍니다. 문제나 질문이 있는 경우 PyMongo 개발자에게 직접 이메일을 보내지 마세요. ("mongodb" 태그 사용) StackOverflow에서 답변을 얻을 가능성이 더 높습니다.
버그를 발견했다고 생각하시나요? PyMongo의 새로운 기능을 보고 싶으십니까? 문제 관리 도구인 JIRA에서 사례를 개설하세요.
모든 드라이버 프로젝트(예: PYTHON, CSHARP, JAVA) 및 핵심 서버(예: SERVER) 프로젝트에 대한 JIRA의 버그 보고서는 공개 됩니다.
이슈를 열 때 다음 정보를 모두 포함하세요.
가능한 경우 전체 추적을 포함하여 문제를 재현하기 위한 자세한 단계입니다.
패치 수준과 함께 사용된 정확한 Python 버전:
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는 pip로 설치할 수 있습니다:
python -m pip install pymongo
프로젝트 소스를 다운로드하고 다음을 수행할 수도 있습니다.
pip install .
pypi에서 "bson" 패키지를 설치하지 마세요 . PyMongo에는 자체 bson 패키지가 함께 제공됩니다. "pip install bson"을 실행하면 PyMongo와 호환되지 않는 타사 패키지가 설치됩니다.
PyMongo는 CPython 3.9+ 및 PyPy3.9+를 지원합니다.
필수 종속성:
mongodb+srv://
URI를 지원하려면 dnspython이 필요합니다.
선택적 종속성:
GSSAPI 인증에는 Unix의 pykerberos 또는 Windows의 WinKerberos가 필요합니다. 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에서 볼 수 있습니다.
pip installatch를 실행하여 문서를 생성할 수 있습니다. 해치 실행 doc:build . 생성된 문서는 doc/build/html/
디렉터리에서 찾을 수 있습니다.
테스트를 실행하는 가장 쉬운 방법은 배포판 루트에서 hack run test:test *를 실행하는 것입니다. 예를 들어,
pip install hatch
hatch run test:test