A partir de mayo de 14, 2025, Motor está obsoleto en favor de la versión GA de la API asíncrona de PyMongo en la librería PyMongo. No añadiremos nuevas características a Motor, y solo proporcionaremos correcciones de errores hasta que llegue al final de su vida útil el 14 de mayo de 2026. Después de eso, solo corregiremos los errores críticos hasta que finalice el soporte el 14 de mayo de 2027. Recomendamos encarecidamente migrar a la API asíncrona de PyMongo mientras Motor aún sea compatible.
Para obtener más información sobre la migración, consulte la Guía de migración a PyMongo Async en la documentación de PyMongo.
Introducción
Bienvenido al sitio de documentación de Motor, el controlador oficial de MongoDB para aplicaciones Python asíncronas. Descárgalo con pip. o configure un proyecto ejecutable siguiendo nuestros tutoriales.
Tip
Si no se necesita acceder a MongoDB de manera no bloqueante o desde corrutinas, recomendamos usar el driver PyMongo en su lugar.
Siga los enlaces a continuación para leer las entradas de blog que describen casos de uso específicos para el controlador de Motor:
Instalación
Debe instalar el módulo del driver Motor para que esté disponible en la aplicación Python. Recomendamos que se utilice pip para instalar Motor.
El siguiente comando demuestra cómo puedes instalar la última versión del módulo usando la línea de comandos:
python -m pip install motor
Para obtener más información sobre los requisitos y otros métodos de instalación, consulta la documentación de Instalación de Motor.
Conéctese a MongoDB Atlas
Puede utilizar el siguiente fragmento de conexión para probar su conexión a su implementación de MongoDB en Atlas utilizando el asyncio marco asincrónico:
import asyncio from motor.motor_asyncio import AsyncIOMotorClient from pymongo.server_api import ServerApi async def ping_server(): # Replace the placeholder with your Atlas connection string uri = "<connection string>" # Set the Stable API version when creating a new client client = AsyncIOMotorClient(uri, server_api=ServerApi('1')) # Send a ping to confirm a successful connection try: await client.admin.command('ping') print("Pinged your deployment. You successfully connected to MongoDB!") except Exception as e: print(e) asyncio.run(ping_server())
Esta snippet de conexión utiliza la característica Stable API, que se puede activar al usar el driver Motor v2.5 y versiones posteriores para conectarte a MongoDB Server v5.0 y versiones posteriores. Cuando se usa esta característica, se puede actualizar el driver o servidor sin preocuparte por problemas de compatibilidad con versiones anteriores con cualquier comando cubierto por Stable API.
Para obtener más información sobre la característica Stable API, consulta Stable API en el manual del servidor.
Nota
A partir de febrero de 2022, la API versionada se conoce como Stable API. Todos los conceptos y características permanecen iguales con este cambio de nombre.
Conéctate a MongoDB Atlas sin Stable API
Si se usa una versión de MongoDB o del driver que no admite la característica Stable API, se puede usar el siguiente snippet de código para probar la conexión con la implementación de MongoDB en Atlas:
import asyncio from motor.motor_asyncio import AsyncIOMotorClient async def ping_server(): # Replace the placeholder with your Atlas connection string uri = "<connection string>" # Create a new client and connect to the server client = AsyncIOMotorClient(uri) # Send a ping to confirm a successful connection try: await client.admin.command('ping') print("Pinged your deployment. You successfully connected to MongoDB!") except Exception as e: print(e) asyncio.run(ping_server())
Si está utilizando la biblioteca asíncrona tornado, puede usar el siguiente código para conectarse a su implementación de MongoDB:
import tornado import motor async def ping_server(): # Replace the placeholder with your Atlas connection string uri = "<connection string>" # Set a 5-second connection timeout when creating a new client client = motor.motor_tornado.MotorClient(uri, serverSelectionTimeoutMS=5000) # Send a ping to confirm a successful connection try: await client.admin.command('ping') print("Pinged your deployment. You successfully connected to MongoDB!") except Exception as e: print(e) tornado.ioloop.IOLoop.current().run_sync(ping_server)
Realizar la conexión a MongoDB Server en la máquina local
Si necesita ejecutar un servidor MongoDB en su máquina local para fines de desarrollo en lugar de usar un clúster Atlas, debe completar lo siguiente:
Instale y configure MongoDB Server.
Inicia el servidor.
Importante
Se debe proteger siempre el servidor MongoDB de ataques maliciosos. Se debe consultar nuestra Lista de verificación de seguridad para ver una lista de recomendaciones de seguridad.
Después de iniciar MongoDB Server correctamente, se debe especificar la cadena de conexión en el código de conexión del driver.
Si MongoDB Server se está ejecutando localmente, se puede utilizar la cadena de conexión "mongodb://localhost:<port>" en que <port> es el número de puerto que se configuró para que el servidor escuche las conexiones entrantes.
Si debes especificar un nombre de host o una dirección IP diferente, consulta nuestra entrada del Manual del servidor sobre Cadenas de conexión.
Para probar si se puede realizar la conexión al servidor, se debe reemplazar la cadena de conexión en el ejemplo de código Conectar a MongoDB Atlas y ejecútalo.
Compatibilidad
Para obtener información sobre la compatibilidad de Motor con MongoDB Server y Python, consulta la página Compatibilidad.
Cómo obtener ayuda
Solicita ayuda en la página Stack Overflow de MongoDB o en la comunidad de Reddit de MongoDB.
Visita nuestros canales de soporte.
Consulta JIRA para plantear problemas o solicitudes de características.