Docs Menu
Docs Home
/ /

Conéctese a MongoDB

Esta página contiene ejemplos de código que muestran cómo conectar la aplicación de Python a MongoDB con varias configuraciones.

Tip

Para obtener más información sobre las opciones de conexión de esta página, consulta el enlace proporcionado en cada sección.

Para utilizar un ejemplo de conexión de esta página, copie el ejemplo de código en el Aplicación de ejemplo o su propia aplicación. Asegúrese de reemplazar todos los marcadores de posición en los ejemplos de código, como <hostname>, con los valores relevantes para su implementación de MongoDB.

Puede utilizar la siguiente aplicación de muestra para probar los ejemplos de código en esta página. Para usar la aplicación de muestra, siga los siguientes pasos:

  1. Asegúrate de que tienes PyMongo instalado.

  2. Copia el siguiente código y pégalo en un nuevo archivo .py.

  3. Copia un ejemplo de código de esta página y pégalo en las líneas especificadas del archivo.

Seleccione el Synchronous o pestaña Asynchronous para ver el código correspondiente:

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

Las siguientes secciones describen cómo conectarse a diferentes destinos, como una instancia local de MongoDB o una instancia alojada en la nube en Atlas.

El siguiente código muestra cómo usar la cadena de conexión para conectarse a una implementación local de MongoDB. Selecciona la pestaña Synchronous o Asynchronous para ver el código correspondiente:

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

El siguiente código muestra la cadena de conexión para conectarse a una implementación alojada en Atlas. Selecciona la pestaña Synchronous o Asynchronous para ver el código correspondiente:

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

El siguiente código muestra la cadena de conexión para conectarse a un Set de réplicas. Selecciona la pestaña Synchronous o Asynchronous para ver el código correspondiente:

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)

Las siguientes secciones describen cómo conectarse a MongoDB especificando los algoritmos de compresión de red.

Las siguientes pestañas demuestran cómo especificar todos los compresores disponibles al conectarse a 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)

Para obtener más información sobre cómo especificar algoritmos de compresión, consulte Especifique los algoritmos de compresión en la guía de compresión de red.

Las siguientes pestañas demuestran cómo especificar un nivel de compresión para el compresor 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)

Para obtener más información sobre cómo configurar el nivel de compresión zlib, consulta Especificar algoritmos de compresión en la guía de Compresión de red.

El siguiente código muestra una cadena de conexión que especifica una función de selección de servidor. Selecciona la pestaña Synchronous o Asynchronous para ver el código correspondiente:

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

Para obtener más información sobre cómo personalizar la selección de servidores, consulta Personalizar la selección de servidores.

El siguiente código muestra cómo especificar la configuración de Stable API para una conexión. Selecciona la pestaña Synchronous o Asynchronous para ver el código correspondiente:

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

Para obtener más información sobre la Stable API, consulta Stable API.

El siguiente código muestra cómo establecer un tiempo de espera del lado del cliente utilizando el método timeout():

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

Para aprender más sobre los tiempos de espera del lado del cliente, consulte Limitar el Tiempo de Ejecución del Servidor.

Las siguientes pestañas demuestran cómo establecer un tiempo de espera del lado del cliente utilizando la opción de conexión 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)

Para aprender más sobre los tiempos de espera del lado del cliente, consulte Limitar el Tiempo de Ejecución del Servidor.

Volver

Empezar

En esta página