Docs Menu
Docs Home
/ / /
PyMongo

모터 에서 Motor PyMongo PyMongo 비동기로 마이그레이션

이 페이지의 내용

  • 개요
  • 모터 에서 마이그레이션 Motor
  • 메서드 서명 변경
  • 추가 정보

중요

PyMongo 비동기 운전자 는 실험용이므로 프로덕션 환경에서는 사용해서는 안 됩니다. 이 가이드 에 설명된 클래스, 메서드 및 동작은 전체 출시하다 이전에 변경될 수 있습니다. PyMongo Async에 문제가 발생하는 경우 문제 및 도움말 페이지에서 문제를 보고하는 방법을 학습 수 있습니다.

PyMongo PyMongo 비동기 운전자 는 PyMongo PyMongo 와 모터Motor 라이브러리를 통합한 것입니다. 이 가이드 에서는 애플리케이션 을 모터 에서 PyMongo 비동기 운전자 로 마이그레이션 하기 위해 수행해야 하는 변경 사항을 확인할 수 Motor 있습니다.PyMongo

PyMongo 비동기 운전자 는 모터 라이브러리와 유사하게 작동하지만, 스레드 풀에 작업을 위임하는 대신 Python Asyncio를 직접 사용하므로 지연 시간 과 처리량 이 향상됩니다. 대부분의 경우 MotorClient 대신 AsyncMongoClient 를 사용하고 애플리케이션의 가져오기 문을 pymongo 에서 가져오도록 변경하여 기존 모터 애플리케이션을 PyMongo Async로 직접 마이그레이션 할 수 있습니다.

다음 예시 는 모터 에서 읽기 및 쓰기 (write) 작업에 Motor PyMongo 클라이언트 를 사용할 경우 PyMongo 비동기와 비교했을 때 가져오기의 차이점을 보여줍니다.

# Motor client import
from motor.motor_asyncio import AsyncIOMotorClient
# PyMongo Async client import
from pymongo import AsyncMongoClient

PyMongo 비동기 운전자 에서 사용할 수 있는 비동기 메서드 목록을 보려면 PyMongo 비동기 가이드 의 비동기 메서드 섹션을 참조 PyMongo .

다음 섹션에서는 모터 에서 PyMongo 비동기 운전자 로 마이그레이션할 때 애플리케이션 에서 구현 해야 하는 메서드 서명 변경 사항을 Motor 보여줍니다.PyMongo

다음 Motor PyMongo 모터 메서드 서명은 PyMongo 비동기 운전자 에서 다르게 작동합니다.

  • AsyncMongoClient.__init__() io_loop 매개 변수를 허용하지 않습니다.

  • AsyncCursor.each() PyMongo 비동기 운전자 에 존재하지 않습니다.

  • MotorGridOut.stream_to_handler() PyMongo 비동기 운전자 에 존재하지 않습니다.

  • AsyncCursor.to_list(0) PyMongo 비동기 운전자 에서는 유효하지 않습니다. 대신 to_list(None) 을(를) 사용하세요.

  • MongoClient AsyncMongoClient 은 스레드로부터 안전하지 않으며 여러 스레드에서 사용할 수 있지만 은 스레드로부터 안전하지 않으므로 단일 이벤트 루프 에서만 사용해야 합니다.

비동기 Python 에 학습 보려면 Python Asyncio 설명서를 참조하세요.

돌아가기

업그레이드