Docs Menu
Docs Home
/ / /
PyMongo 드라이버

MongoDB에 연결

이 페이지에는 다양한 설정을 사용하여 Python 애플리케이션을 MongoDB에 연결하는 방법을 보여주는 코드 예제가 포함되어 있습니다.

이 페이지의 연결 옵션에 대해 자세히 알아보려면 각 섹션에 제공된 링크를 참조하세요.

이 페이지의 연결 예제를 사용하려면 코드 예제를 샘플 애플리케이션 또는 자체 애플리케이션에 복사합니다. 코드 예제의 모든 자리 표시자(예: <hostname>)를 MongoDB 배포에 필요한 관련 값으로 바꿔야 합니다.

다음 샘플 애플리케이션을 사용하여 이 페이지의 코드 예제를 테스트할 수 있습니다. 샘플 애플리케이션을 사용하려면 다음 단계를 수행하세요.

  1. PyMongo가 설치되어 있는지 확인합니다.

  2. 다음 코드를 복사하여 새 .py 파일에 붙여넣습니다.

  3. 이 페이지에서 코드 예제를 복사하여 파일의 지정된 줄에 붙여넣습니다.

Synchronous 또는 Asynchronous 탭 선택하여 해당 코드를 확인합니다.

1from pymongo import MongoClient
2
3try:
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
15except Exception as e:
16 raise Exception(
17 "The following error occurred: ", e)
1import asyncio
2from pymongo import AsyncMongoClient
3
4async 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
21asyncio.run(main())

다음 섹션에서는 MongoDB 의 로컬 인스턴스 또는 Atlas 의 클라우드 호스팅 인스턴스 와 같은 다양한 대상에 연결하는 방법을 설명합니다.

다음 코드는 연결 문자열 연결하여 로컬 MongoDB deployment 에 연결하는 방법을 보여줍니다. Synchronous 또는 Asynchronous 탭 선택하여 해당 코드를 확인합니다.

uri = "mongodb://localhost:27017/"
client = MongoClient(uri)
uri = "mongodb://localhost:27017/"
client = AsyncMongoClient(uri)

다음 코드는 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)

압축 알고리즘 지정에 대해 자세히 학습 네트워크 압축 가이드 에서 압축 알고리즘 지정을 참조하세요.

다음 탭은 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 설정을 지정하는 방법을 보여줍니다. 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

다음 코드는 timeout() 메서드를 사용하여 클라이언트 사이드 시간 제한을 설정하다 방법을 보여줍니다.

with pymongo.timeout(<timeout length>):
# perform operations here

클라이언트 사이드 시간 제한에 대해 자세히 알아보려면 MongoDB 서버 실행 시간 제한을 참조하세요.

다음 탭은 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 서버 실행 시간 제한을 참조하세요.

돌아가기

시작하기

이 페이지의 내용