문서 홈 → 애플리케이션 개발 → MongoDB 드라이버
PyMongo
이 페이지의 내용
서론
동기식 Python 애플리케이션을 위한 공식 MongoDB 드라이버인 PyMongo의 설명서 사이트에 오신 것을 환영합니다.pip 을(를) 사용하여 다운로드합니다. 또는 튜토리얼에 따라 실행 가능한 프로젝트를 설정하세요.
팁
비차단 방식 또는 코루틴에서 MongoDB에 액세스해야 하는 경우에는 모터 드라이버를 사용하는 것이 좋습니다.
다음은 PyMongo 드라이버를 사용하여 배포서버에 연결할 수 있는 환경입니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
MongoDB Enterprise: 구독 기반의 자체 관리형 MongoDB 버전
MongoDB Community: 무료로 사용할 수 있는 소스 제공의 자체 관리형 MongoDB 버전입니다.
MongoDB에서 제공하는 무료 온라인 강좌 수강하기
MongoDB로 Python 애플리케이션 개발의 필수 사항을 알아보세요. |
설치
Python 애플리케이션에서 사용할 수 있도록 하려면 PyMongo 드라이버 모듈을 설치해야 합니다.pip 사용을 권장합니다. PyMongo를 설치합니다.
PyMongo에는 dnspython 이 mongodb+srv://
필요합니다. 연결 문자열 및 MongoDB Atlasdnspython
를 지원합니다. 는 최신 PyMongo 버전을 설치하거나 업그레이드할 때 자동으로 설치됩니다.
다음 명령은 명령줄을 사용하여 최신 버전 모듈을 설치하는 방법을 보여줍니다.
python -m pip install pymongo
특정 버전의 PyMongo를 설치해야 하는 경우 명령에 버전을 명시하세요. 다음 명령은 pip
를 사용하여 PyMongo 버전 3.11
을 설치하는 방법을 보여줍니다.
python -m pip install pymongo==3.11
PyMongo가 이미 설치되어 있고 최신 버전으로 업그레이드해야 하는 경우 다음 pip
명령을 사용합니다.
python -m pip install --upgrade pymongo
설치 참조 PyMongo를 설치하는 더 많은 방법을 확인하세요.
MongoDB Atlas에 연결
다음 연결 스니펫을 사용하여 Atlas에서 MongoDB deployment에 대한 연결을 테스트할 수 있습니다.
from pymongo.mongo_client import MongoClient from pymongo.server_api import ServerApi # Replace the placeholder with your Atlas connection string uri = "<connection string>" # Set the Stable API version when creating a new client client = MongoClient(uri, server_api=ServerApi('1')) # Send a ping to confirm a successful connection try: client.admin.command('ping') print("Pinged your deployment. You successfully connected to MongoDB!") except Exception as e: print(e)
연결 스니펫은 스테이블 API(Stable API) 기능을 사용합니다. 이 기능은 PyMongo 드라이버 v3.12 이상 사용 시 활성화할 수 있으며 추후 MongoDB Server v5.0 이상에 연결할 때에도 사용됩니다. 이 기능을 사용하면 스테이블 API에서 다루는 모든 명령의 하위 호환성 문제에 대한 걱정 없이 드라이버나 서버를 업데이트할 수 있습니다.
Stable API 기능에 대해 자세히 알아보려면 서버 매뉴얼의 Stable API 를 참조하세요.
참고
2022년 2월부터 버전이 지정된 API는 Stable API로 표시됩니다. 이름은 변경되나 모든 개념과 기능은 동일하게 유지됩니다.
스테이블 API 없이 MongoDB Atlas에 연결하기
Stable API 기능에 대한 지원이 없는 MongoDB 버전 또는 드라이버를 사용하는 경우, 다음 코드 스니펫을 사용하여 Atlas에서 MongoDB 배포에 대한 연결을 테스트할 수 있습니다.
from pymongo.mongo_client import MongoClient # Replace the placeholder with your Atlas connection string uri = "<connection string>" # Create a new client and connect to the server client = MongoClient(uri) # Send a ping to confirm a successful connection try: client.admin.command('ping') print("Pinged your deployment. You successfully connected to MongoDB!") except Exception as e: print(e)
AWS 람다에서 MongoDB 아틀라스에 연결하기
AWS Lambda에서 Atlas에 연결하는 방법을 알아보려면 AWS Lambda로 연결 관리 문서를 참조하세요.
로컬 기계에서 MongoDB Server에 연결하기
Atlas cluster를 사용하는 대신 개발 목적으로 로컬 컴퓨터에서 MongoDB 서버를 실행해야 하는 경우, 다음을 완료해야 합니다:
MongoDB Server의 Community 또는 Enterprise 버전을 다운로드합니다.
MongoDB Server 를 설치하고 구성합니다 .
서버를 시작합니다.
중요
항상 악의적인 공격으로부터 MongoDB 서버를 보호하세요. 보안 체크 리스트에서 보안 권장 사항 목록을 확인하세요.
MongoDB Server를 성공적으로 시작한 후에는 드라이버 연결 코드에 연결 문자열을 지정하세요.
MongoDB Server가 로컬에서 실행되는 경우 연결 문자열("mongodb://localhost:<port>"
)을 사용할 수 있습니다. 여기서 <port>
는 서버가 들어오는 연결을 수신하도록 구성한 포트 번호입니다.
다른 호스트 이름이나 IP 주소를 지정해야 하는 경우 연결 문자열에 대한 서버 매뉴얼 항목을 참조하세요.
서버에 연결할 수 있는지 테스트하려면 MongoDB Atlas 에 연결 코드 예제에서 연결 문자열을 바꾸고 실행하세요.
호환성
중요
지원되는 PyMongo 및 Python 버전
MongoDB는 v4.0 이전의 Python 드라이버 버전이나 v3.6 이전의 Python 버전을 지원하지 않습니다.
MongoDB 호환성
다음 호환성 표는 MongoDB의 특정 버전과 함께 사용할 MongoDB Python 드라이버의 권장 버전을 명시합니다.
첫 번째 열에는 드라이버 버전이 나열됩니다.
중요
MongoDB는 서버 버전의 수명 종료(EOL) 날짜 이후 3년 동안 MongoDB Server와 드라이버 간의 호환성을 보장합니다. MongoDB 릴리스 및 EOL 날짜에 대한 자세한 내용은 MongoDB 소프트웨어 수명 주기 일정을 참조하세요.
호환성 표 범례
아이콘 | 설명 |
---|---|
✓ | 모든 기능이 지원됩니다. |
⊛ | 드라이버 버전은 MongoDB 버전에서 작동하지만 모든 새로운 MongoDB 기능이 지원되는 것은 아닙니다. |
표시 없음 | 드라이버 버전은 MongoDB 버전과 함께 테스트되지 않습니다. |
PyMongo 드라이버 버전 | MongoDB 7.0 | MongoDB 6.0 | MongoDB 5.0 | MongoDB 4.4 | MongoDB 4.2 | MongoDB 4.0 | 몽고DB 3.6 | MongoDB 3.4 | MongoDB 3.2 | MongoDB 3.0 | MongoDB 2.6 |
---|---|---|---|---|---|---|---|---|---|---|---|
4.7 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
4.6 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
4.5 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
4.4 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
4.3 | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
4.2 | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
4.1 | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
4.0 | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
3.13 | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
3.12 | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
3.11 | ⊛ | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
3.10 | ⊛ | ⊛ | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
3.9 | ⊛ | ⊛ | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
3.8 | ⊛ | ⊛ | ⊛ | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
3.7 | ⊛ | ⊛ | ⊛ | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
3.6 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
3.5 | ✓ | ✓ | ✓ | ✓ | |||||||
3.4 | ✓ | ✓ | ✓ | ✓ | |||||||
3.3 | ✓ | ✓ | ✓ | ||||||||
3.2 | ✓ | ✓ | ✓ | ||||||||
3.1 | ✓ | ✓ | |||||||||
3.0 | ✓ | ✓ | |||||||||
2.9 | ✓ | ✓ | |||||||||
2.8 | ✓ | ✓ | |||||||||
2.7 | ✓ |
이 드라이버는 이전 버전의 MongoDB를 지원하지 않습니다.
언어 호환성
다음 호환성 표는 Python의 특정 버전과 함께 사용할 MongoDB Python 드라이버의 권장 버전을 명시합니다.
첫 번째 열에는 드라이버 버전이 나열됩니다.
Python 3 호환성
PyMongo 드라이버 버전 | Python 3.12 | Python 3.11 | Python 3.10 [1] | Python 3.9 | Python 3.8 | Python 3.7 | Python 3.6 | Python 3.5 | Python 3.4 | Python 3.3 | PyPy3 | Python 3.2 | Python 3.1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4.7 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
4.6 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
4.5 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
4.4 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
4.3 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
4.2 | ✓ | ✓ | ✓ | ✓ | |||||||||
4.1 | ✓ | ✓ | ✓ | ✓ | ✓ [2] | ||||||||
4.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
3.13 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
3.12 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
3.11 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
3.10 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
3.9 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
3.8 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
3.7 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
3.6 | ✓ | ✓ | ✓ | ✓ | |||||||||
3.5 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
3.4 | ✓ | ✓ | ✓ | ✓ | |||||||||
3.3 | ✓ | ✓ | ✓ | ✓ | |||||||||
3.2 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
3.1 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
3.0 | ✓ | ✓ | ✓ | ✓ | |||||||||
2.9 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.8 | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
2.7 | ✓ | ✓ | ✓ | ✓ | ✓ |
[1] | Python 3 10 4버전. 이상은 MongoDB 버전의 TLS/SSL과 호환되지0 않습니다. 및 이전 버전.PyMongo 문서 참조 을(를) 참조하세요. |
[2] | Pymongo 4.1에는 Python 3.6.2 이상이 필요합니다. |
참고
PyPy3는 Python 3.2와 호환되는 대체 인터프리터입니다.
Python 2 Compatibility
PyMongo 드라이버 버전 | Python 2.7, PyPy | Python 2.6 | Python 2.5, Jython 2.5 | Python 2.4 |
---|---|---|---|---|
4.0 [3] | ||||
3.12 | ✓ | |||
3.11 | ✓ | |||
3.10 | ✓ | |||
3.9 | ✓ | |||
3.8 | ✓ | |||
3.7 | ✓ | ✓ | ||
3.6 | ✓ | ✓ | ||
3.5 | ✓ | ✓ | ||
3.4 | ✓ | ✓ | ||
3.3 | ✓ | ✓ | ||
3.2 | ✓ | ✓ | ||
3.1 | ✓ | ✓ | ||
3.0 | ✓ | ✓ | ||
2.9 | ✓ | ✓ | ✓ | ✓ |
2.8 | ✓ | ✓ | ✓ | ✓ |
2.7 | ✓ | ✓ | ✓ | ✓ |
[3] | PyMongo 4.0 이상 버전은 Python 2와 호환되지 않습니다. |
참고
Jython 2.5는 Python 2.5와 호환되는 대체 인터프리터입니다.
PyPy는 Python 2.7과 호환되는 대체 인터프리터입니다.
호환성 표를 읽는 방법에 대한 자세한 내용은 MongoDB 호환성 표에 대한 가이드를 참조하세요.
도움 받기
JIRA 참조 문제를 제기하거나 기능을 요청할 수 있습니다.