Docs Menu
Docs Home
/ /

Motor (controlador asíncrono)

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:

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.

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.

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)

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:

  1. Descarga la versión Community o Empresa de MongoDB Server.

  2. Instale y configure MongoDB Server.

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

Para obtener información sobre la compatibilidad de Motor con MongoDB Server y Python, consulta la página Compatibilidad.

Volver

Compatibilidad de versiones

En esta página