Docs Menu
Docs Home
/ / /
PyMongo

MongoDB에 연결

이 페이지의 내용

  • 개요
  • 샘플 애플리케이션
  • 연결
  • 로컬 배포
  • Atlas
  • 복제본 세트
  • TLS(전송 계층 보안)
  • TLS 활성화
  • 인증 기관(CA) 파일 지정
  • OCSP 검사 비활성화
  • 인증서 해지 목록(CRL) 지정
  • 클라이언트 인증서 제시
  • 인증서 키 파일 비밀번호 제공
  • 안전하지 않은 TLS 허용
  • 인증서 유효성 검사 비활성화
  • 호스트 이름 확인 사용 안 함
  • 네트워크 압축
  • 압축 알고리즘
  • zlibCompressionLevel
  • 서버 선택
  • Stable API
  • MongoDB Server 실행 시간 제한
  • timeout 차단
  • timeoutMS 연결 옵션

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

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

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

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

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

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

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

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)
uri = "mongodb://localhost:27017/"
client = MongoClient(uri)
uri = "<Atlas connection string>"
client = MongoClient(uri, server_api=pymongo.server_api.ServerApi(
version="1", strict=True, deprecation_errors=True))
uri = "mongodb://<replica set member>:<port>/?replicaSet=<replica set name>"
client = MongoClient(uri)
client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>", tls=True)
client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>?tls=true")

TLS 활성화에 학습 보려면 TLS 구성 가이드 에서 TLS 활성화 를 참조하세요.

client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>",
tls=True,
tlsCAFile="/path/to/ca.pem")
uri = "mongodb://<db_username>:<db_password>@<hostname>:<port>/?tls=true&tlsCAFile=/path/to/ca.pem"
client = pymongo.MongoClient(uri)

CA 파일 지정에 대해 자세히 알아보려면 TLS 구성 가이드 의 CA 파일 지정 을 참조하세요.

client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>",
tls=True,
tlsDisableOCSPEndpointCheck=True)
uri = "mongodb://example.com/?tls=true&tlsDisableOCSPEndpointCheck=true"
client = pymongo.MongoClient(uri)

OCSP 검사 비활성화에 대해 자세히 알아보려면 TLS 구성 가이드에서 OCSP 를 참조하세요.

client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>",
tls=True,
tlsCRLFile="/path/to/crl.pem")
uri = "mongodb://example.com/?tls=true&tlsCRLFile=/path/to/crl.pem"
client = pymongo.MongoClient(uri)

CRL 지정에 대해 자세히 알아보려면 TLS 구성 가이드의 인증서 해지 목록 을 참조하세요.

client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>",
tls=True,
tlsCertificateKeyFile='/path/to/client.pem')
uri = ("mongodb://<db_username>:<db_password>@<hostname:<port>/?"
"tls=true"
"&tlsCertificateKeyFile=path/to/client.pem")
client = pymongo.MongoClient(uri)

클라이언트 인증서 지정에 대해 자세히 알아보려면 TLS 구성 가이드 의 클라이언트 인증서 제시 를 참조하세요.

client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>",
tls=True,
tlsCertificateKeyFile='/path/to/client.pem',
tlsCertificateKeyFilePassword=<passphrase>)
uri = ("mongodb://<db_username>:<db_password>@<hostname:<port>/?"
"tls=true"
"&tlsCertificateKeyFile=path/to/client.pem"
"&tlsCertificateKeyFilePassword=<passphrase>")
client = pymongo.MongoClient(uri)

키 파일 비밀번호 제공에 대해 자세히 알아보려면 TLS 구성 가이드 의 키 비밀번호 제공 을 참조하세요.

client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>",
tls=True,
tlsInsecure=True)
uri = ("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"tls=true"
"&tlsInsecure=true")
client = pymongo.MongoClient(uri)

안전하지 않은 TLS 허용에 대해 자세히 알아보려면 TLS 구성 가이드에서 안전하지 않은 TLS 허용 을 참조하세요.

client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>",
tls=True,
tlsAllowInvalidCertificates=True)
uri = ("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"tls=true"
"&tlsAllowInvalidCertificates=true")
client = pymongo.MongoClient(uri)

인증서 유효성 검사 비활성화에 대해 자세히 알아보려면 TLS 구성 가이드에서 안전하지 않은 TLS 허용 을 참조하세요.

client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>",
tls=True,
tlsAllowInvalidHostnames=True)
uri = ("mongodb://<db_username>:<db_password>@<hostname>:<port>/?"
"tls=true"
"&tlsAllowInvalidHostnames=true")
client = pymongo.MongoClient(uri)

호스트 이름 확인 비활성화에 대해 자세히 알아보려면 TLS 구성 가이드에서 안전하지 않은 TLS 허용 을 참조하세요.

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.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)

zlib 압축 수준 설정에 대해 자세히 알아보려면 네트워크 압축 가이드에서 압축 알고리즘 지정 을 참조하세요.

client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>",
server_selector=<selector function>)

서버 선택 사용자 지정에 대해 자세히 알아보려면 MongoDB 서버 선택 사용자 지정을 참조하세요.

from pymongo.server_api import ServerApi
client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>",
server_api=ServerApi("<Stable API version>"))

안정적인 API에 대해 자세히 알아보려면 stable API 를 참조하세요 stable API

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

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

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)

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

돌아가기

다음 단계