MongoDB에 연결
개요
이 페이지에는 다양한 설정을 사용하여 Python 애플리케이션을 MongoDB에 연결하는 방법을 보여주는 코드 예제가 포함되어 있습니다.
팁
이 페이지의 연결 옵션에 대해 자세히 알아보려면 각 섹션에 제공된 링크를 참조하세요.
이 페이지의 연결 예제를 사용하려면 코드 예제를 샘플 애플리케이션 또는 자체 애플리케이션에 복사합니다. 코드 예제의 모든 자리 표시자(예: <hostname>
)를 MongoDB 배포에 필요한 관련 값으로 바꿔야 합니다.
샘플 애플리케이션
다음 샘플 애플리케이션을 사용하여 이 페이지의 코드 예제를 테스트할 수 있습니다. 샘플 애플리케이션을 사용하려면 다음 단계를 수행하세요.
PyMongo가 설치되어 있는지 확인합니다.
다음 코드를 복사하여 새
.py
파일에 붙여넣습니다.이 페이지에서 코드 예제를 복사하여 파일의 지정된 줄에 붙여넣습니다.
Synchronous 또는 Asynchronous 탭 선택하여 해당 코드를 확인합니다.
1 from pymongo import MongoClient 2 3 try: 4 # start example code here 5 6 # end example code here 7 8 client.admin.command("ping") 9 print("Connected successfully") 10 11 # other application code 12 13 client.close() 14 15 except Exception as e: 16 raise Exception( 17 "The following error occurred: ", e)
1 import asyncio 2 from pymongo import AsyncMongoClient 3 4 async def main(): 5 try: 6 # start example code here 7 8 # end example code here 9 10 await client.admin.command("ping") 11 print("Connected successfully") 12 13 # other application code 14 15 await client.close() 16 17 except Exception as e: 18 raise Exception( 19 "The following error occurred: ", e) 20 21 asyncio.run(main())
연결
다음 섹션에서는 MongoDB 의 로컬 인스턴스 또는 Atlas 의 클라우드 호스팅 인스턴스 와 같은 다양한 대상에 연결하는 방법을 설명합니다.
로컬 배포
다음 코드는 연결 문자열 연결하여 로컬 MongoDB deployment 에 연결하는 방법을 보여줍니다. Synchronous 또는 Asynchronous 탭 선택하여 해당 코드를 확인합니다.
uri = "mongodb://localhost:27017/" client = MongoClient(uri)
uri = "mongodb://localhost:27017/" client = AsyncMongoClient(uri)
Atlas
다음 코드는 Atlas 에서 호스팅되는 배포서버 에 연결하기 위한 연결 문자열 보여줍니다. Synchronous 또는 Asynchronous 탭 선택하여 해당 코드를 확인합니다.
uri = "<Atlas connection string>" client = MongoClient(uri, server_api=pymongo.server_api.ServerApi( version="1", strict=True, deprecation_errors=True))
uri = "<Atlas connection string>" client = AsyncMongoClient(uri, server_api=pymongo.server_api.ServerApi( version="1", strict=True, deprecation_errors=True))
복제본 세트
다음 코드는 복제본 세트 에 연결하기 위한 연결 문자열 보여줍니다. Synchronous 또는 Asynchronous 탭 선택하여 해당 코드를 확인합니다.
uri = "mongodb://<replica set member>:<port>/?replicaSet=<replica set name>" client = MongoClient(uri)
uri = "mongodb://<replica set member>:<port>/?replicaSet=<replica set name>" client = AsyncMongoClient(uri)
네트워크 압축
다음 섹션에서는 네트워크 압축 알고리즘을 지정하면서 MongoDB 에 연결하는 방법을 설명합니다.
압축 알고리즘
다음 탭은 MongoDB 에 연결하는 동안 사용 가능한 모든 압축기를 지정하는 방법을 보여줍니다.
client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>", compressors = "snappy,zstd,zlib")
uri = ("mongodb://<db_username>:<db_password>@<hostname>:<port>/?" "compressors=snappy,zstd,zlib") client = pymongo.MongoClient(uri)
client = pymongo.AsyncMongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>", compressors = "snappy,zstd,zlib")
uri = ("mongodb://<db_username>:<db_password>@<hostname>:<port>/?" "compressors=snappy,zstd,zlib") client = pymongo.AsyncMongoClient(uri)
압축 알고리즘 지정에 대해 자세히 학습 네트워크 압축 가이드 에서 압축 알고리즘 지정을 참조하세요.
zlibCompressionLevel
다음 탭은 zlib
압축기의 압축 수준을 지정하는 방법을 보여줍니다.
client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>", compressors = "zlib", zlibCompressionLevel=<zlib compression level>)
uri = ("mongodb://<db_username>:<db_password>@<hostname>:<port>/?" "compressors=zlib" "zlibCompressionLevel=<zlib compression level>") client = pymongo.MongoClient(uri)
client = pymongo.AsyncMongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>", compressors = "zlib", zlibCompressionLevel=<zlib compression level>)
uri = ("mongodb://<db_username>:<db_password>@<hostname>:<port>/?" "compressors=zlib" "zlibCompressionLevel=<zlib compression level>") client = pymongo.AsyncMongoClient(uri)
zlib 압축 수준 설정에 대해 자세히 알아보려면 네트워크 압축 가이드에서 압축 알고리즘 지정 을 참조하세요.
서버 선택
다음 코드는 서버 선택 함수를 지정하는 연결 문자열 보여줍니다. Synchronous 또는 Asynchronous 탭 선택하여 해당 코드를 확인합니다.
client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>", server_selector=<selector function>)
client = pymongo.AsyncMongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>", server_selector=<selector function>)
서버 선택 사용자 지정에 대해 자세히 알아보려면 MongoDB 서버 선택 사용자 지정을 참조하세요.
Stable API
다음 코드는 연결에 대한 Stable API 설정을 지정하는 방법을 보여줍니다. Synchronous 또는 Asynchronous 탭 선택하여 해당 코드를 확인합니다.
from pymongo.server_api import ServerApi client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>", server_api=ServerApi("<Stable API version>"))
from pymongo.server_api import ServerApi client = pymongo.AsyncMongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>", server_api=ServerApi("<Stable API version>"))
안정적인 API에 대해 자세히 알아보려면 stable API 를 참조하세요 stable API
MongoDB Server 실행 시간 제한
timeout 차단
다음 코드는 timeout()
메서드를 사용하여 클라이언트 사이드 시간 제한을 설정하다 방법을 보여줍니다.
with pymongo.timeout(<timeout length>): # perform operations here
클라이언트 사이드 시간 제한에 대해 자세히 알아보려면 MongoDB 서버 실행 시간 제한을 참조하세요.
timeoutMS 연결 옵션
다음 탭은 timeoutMS
연결 옵션을 사용하여 클라이언트 사이드 시간 제한을 설정하다 방법을 보여줍니다.
client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname@:<port>", timeoutMS=<timeout length>)
uri = "mongodb://<db_username>:<db_password>@<hostname:<port>/?timeoutMS=<timeout length>" client = pymongo.MongoClient(uri)
client = pymongo.AsyncMongoClient("mongodb://<db_username>:<db_password>@<hostname@:<port>", timeoutMS=<timeout length>)
uri = "mongodb://<db_username>:<db_password>@<hostname:<port>/?timeoutMS=<timeout length>" client = pymongo.AsyncMongoClient(uri)
클라이언트 사이드 시간 제한에 대해 자세히 알아보려면 MongoDB 서버 실행 시간 제한을 참조하세요.