Cómo conectar la base de datos MongoDB en Python

Cómo conectar la base de datos MongoDB en Python

MongoDB es una base de datos NoSQL popular que se usa ampliamente para almacenar y manipular grandes cantidades de datos. Es conocido por su flexibilidad, escalabilidad y rendimiento, por lo que es una excelente opción para una variedad de aplicaciones.

En este artículo, veremos cómo conectarse a una base de datos MongoDB en Python utilizando el 'Pymongo' Biblioteca, que es un conductor de MongoDB para Python. También cubriremos algunas operaciones básicas, como insertar datos, consultar la base de datos y actualizar documentos.

Requisitos previos

Antes de comenzar, deberá instalar lo siguiente:

  • Python 3: Puede descargar e instalar Python desde el sitio web oficial (https: // www.pitón.org/). Asegúrese de instalar la última versión de Python.
  • MongoDB: Puede descargar e instalar MongoDB desde el sitio web oficial (https: // www.mongodb.com/. También necesitará configurar un servidor MongoDB y crear una base de datos.
  • Biblioteca de Pymongo: Puede instalar esta biblioteca usando 'pepita', El Administrador de paquetes de Python. Abra un terminal y ejecute el siguiente comando:
    Pymongo instalar PIP  

Conectarse a la base de datos

Para conectarnos a la base de datos MongoDB, necesitaremos importar el 'Pymongo' biblioteca y crear un objeto cliente. El objeto cliente nos permitirá conectarnos al servidor MongoDB y realizar operaciones en la base de datos.

Aquí hay un ejemplo de cómo crear un objeto cliente:

Importar Pymongo # Conectar al cliente de la base de datos = Pymongo.MongoClient ('MongoDB: // Localhost: 27017/')
1234Importar Pymongo # Conéctate a DatabaseClient = Pymongo.MongoClient ('MongoDB: // Localhost: 27017/')

Esto creará un objeto cliente que está conectado al servidor MongoDB que se ejecuta en la máquina local en el puerto predeterminado (27017). El 'MongoClient ()' La función toma una cadena de conexión como un argumento, que especifica el nombre de host y el puerto del servidor MongoDB.

Una vez que haya creado el objeto cliente, puede usarlo para acceder a las bases de datos y colecciones en el servidor MongoDB.

Insertar datos

Para insertar datos en una colección en MongoDB, puede usar el 'insert_one ()' o 'insert_many ()' Método del objeto de colección.

Aquí hay un ejemplo de cómo insertar un solo documento en una colección:

# Conéctese a la base de datos 'Test' db = Client ['test'] # Obtenga los usuarios de colección 'Usuarios' = db ['usuarios'] # insertar un solo documento resultado = usuarios.insert_one ('nombre': 'John Smith', 'correo electrónico': '[email protected] ') imprimir (resultado.inserted_id)
12345678910111213# Conéctese al 'Test' DatabasedB = Client ['Test'] # Obtenga los 'Usuarios' CollectionUs = DB ['Usuarios'] # Inserte un único documentResult = Usuarios.insert_one ('name': 'John Smith', 'correo electrónico': '[correo electrónico protegido]') Impresión (resultado.inserted_id)

Esto insertará un solo documento en el 'Usuarios' Colección con el nombre 'John Smith' y correo electrónico '[correo electrónico protegido]'. La propiedad inserted_id del objeto de resultado contiene la ID única del documento insertado.

También puede insertar múltiples documentos a la vez utilizando el 'insert_many ()' método. Este método toma una lista de documentos como argumento.

Aquí hay un ejemplo de cómo insertar múltiples documentos:

# Insertar múltiples documentos resultado = usuarios.insert_many (['nombre': 'Jane Doe', 'correo electrónico': '[email protected] ', ' Nombre ':' Bob Smith ',' Correo electrónico ':' [email protected] ']) imprimir (resultado.inserted_ids)
12345678910111213# Insertar múltiples documentosResult = usuarios.insert_many (['name': 'Jane doe', 'correo electrónico': '[correo electrónico protegido]', 'name': 'bob smith', 'correo electrónico': '[correo electrónico protegido]']) print ( resultado.inserted_ids)

Esto insertará dos documentos en el 'Usuarios' Colección con los nombres 'Fulano de tal' y 'Bob Smith' y las direcciones de correo electrónico respectivas. El 'Inserted_ids' Propiedad del objeto Resultado contiene una lista de los ID únicos de los documentos insertados.

Consulta de la base de datos

Para recuperar datos de una colección en MongoDB, puede usar el 'encontrar()' Método del objeto de colección. Este método devuelve un objeto cursor que se puede iterar para recuperar los documentos que coinciden con la consulta.

Aquí hay un ejemplo de cómo recuperar todos los documentos de una colección:

# Encuentra todos los documentos cursor = usuarios.buscar () # iterar sobre el cursor e imprimir los documentos para doc en cursor: print (doc)
123456# Encuentra todos los documentoscursor = usuarios.buscar () # iterar sobre el cursor e imprima los documentos para el documento en cursor: impresión (doc)

Esto recuperará todos los documentos del 'Usuarios' Recoger e imprimirlos en la consola.

También puede especificar un filtro para recuperar solo los documentos que coinciden con los criterios especificados. El filtro se especifica como un diccionario que contiene los nombres y valores de campo para que coincidan.

Aquí hay un ejemplo de cómo recuperar documentos con un valor de campo específico:

# Encuentra documentos en los que el nombre sea "John Smith" cursor = usuarios.Find ('Name': 'John Smith') # iterate sobre el cursor e imprima los documentos para doc en cursor: print (doc)
123456# Encuentra documentos en los que el nombre sea "John Smith" cursor = usuarios.Find ('Name': 'John Smith') # iterate sobre el cursor e imprima los documentos para el doctor en cursor: print (doc)

Esto recuperará todos los documentos del 'Usuarios' colección donde el campo de nombre es igual a 'John Smith'.

También puede usar operadores de comparación en el filtro para especificar criterios más complejos. Por ejemplo, para recuperar documentos donde el campo de nombre comienza con la letra "J", puedes usar el '$ regex' operador:

# Encuentra documentos donde el nombre comienza con "J" Cursor = Usuarios.find ('name': '$ regex': '^j') # iterate sobre el cursor e imprima los documentos para doc en cursor: print (doc)
123456# Encuentra documentos donde el nombre comienza con "J" Cursor = Usuarios.find ('name': '$ Regex': '^j') # iterate sobre el cursor e imprima los documentos para el documento en cursor: print (doc)

Actualización de documentos

Para actualizar un documento en una colección, puede usar el 'update_one ()' o 'update_many ()' Método del objeto de colección.

Aquí hay un ejemplo de cómo actualizar un solo documento:

# Actualizar el correo electrónico del primer documento resultado = usuarios.update_one ('name': 'John Smith', '$ set': 'correo electrónico': '[email protected] ') imprimir (resultado.modificado_count)
1234# Actualizar el correo electrónico del primer documentResult = usuarios.update_one ('name': 'John Smith', '$ set': 'correo electrónico': '[correos electrónicos protegidos]') imprime (resultado.modificado_count)

Esto actualizará el campo de correo electrónico del primer documento que coincide con el filtro '' nombre ':' John Smith ''. El 'Modified_Count' propiedad del objeto de resultado contiene el número de documentos que se modificaron.

También puede actualizar múltiples documentos a la vez utilizando el 'update_many ()' método. Este método toma un filtro y un documento de actualización como argumentos.

Aquí hay un ejemplo de cómo actualizar múltiples documentos:

# Actualizar el correo electrónico de todos los documentos resultado = usuarios.update_many (, '$ set': 'correo electrónico': '[email protected] ') imprimir (resultado.modificado_count)
1234# Actualizar el correo electrónico de todos los documentosResult = usuarios.update_many (, '$ set': 'correo electrónico': '[correo electrónico protegido]') imprime (resultado.modificado_count)

Esto actualizará el campo de correo electrónico de todos los documentos en el 'Usuarios' recaudación de '[correo electrónico protegido]'.
Cerrar la conexión

Cerrar la conexión

Una vez que haya terminado de trabajar con la base de datos, es una buena idea cerrar la conexión para liberar los recursos. Para cerrar la conexión, puede llamar al 'cerca()' Método del objeto cliente.

Aquí hay un ejemplo de cómo cerrar la conexión:

# Cierre el cliente de conexión.cerca()
12# Cierre el ConnectionClient.cerca()

Eso es todo! Ahora ha aprendido cómo conectarse a una base de datos MongoDB en Python, insertar datos, consultar la base de datos y actualizar documentos. Con estas habilidades, debería poder comenzar a construir aplicaciones que almacenen y manipulen datos utilizando MongoDB.