Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. MongoDB
Code

Crear un Cluster de Base de Datos en la Nube con MongoDB Atlas

Difficulty:BeginnerLength:MediumLanguages:
Sponsored Content

This sponsored post features a product relevant to our readers while meeting our editorial guidelines for being objective and educational.

Spanish (Español) translation by Jean Perez (you can also view the original English article)

Hace ya años MongoDB ha sido el ir a NoSQL la base de datos para individuos y empresas de construcción de aplicaciones a gran escala. Es de código abierto, fácilmente escalable y proporciona alta disponibilidad. También admite consultas muy complejas y control de concurrencia de grano fino.

Sin embargo, tareas necesarias como la instalación de la base de datos, el ajuste para mantener un rendimiento óptimo durante largos períodos de tiempo y asegurándolo tienden a requerir mucho esfuerzo especializado y dedicado.

Afortunadamente, hay una alternativa más fácil: MongoDB Atlas, una totalmente gestionado, versión de la base de datos en la nube.

Con MongoDB Atlas, puede crear un clúster de MongoDB en cualquier proveedor de la nube principal de su elección y comenzar a usar este cluster en cuestión de minutos. Usando el interfaz de usuario basada en navegador de Atlas, también intuitivamente puede configurar el clúster y supervisar su funcionamiento.

En este tutorial te mostraré cómo crear un clúster de MongoDB Atlas nivel libre y utilizarlo en una aplicación de Python.

Requisitos Previos

Antes de continuar, asegúrese de que tener el siguiente instalado y configurado en su computadora:

1. Ceación de un Clúster

Para poder utilizar servicios en la nube de MongoDB, necesitarás una cuenta de MongoDB Atlas. Para crear uno, ir a su página de inicio y presione el botón Comenzar Gratis.

Home page of MongoDB Atlas

Después de completar la forma corta de inscripción, se te redirigirá al asistente de creación de cluster. En su primera sección, deberás escoger la región que prefiere y el proveedor de la nube.

Para minimizar la latencia de la red, idealmente elegiría una región que está más cercana a su computadora. Por ahora, sin embargo, porque estamos creando un grupo de nivel gratis, asegúrese de que la región que seleccione es la que tiene un nivel libre disponible. Además, si está usando una VM de la nube de Google o una instancia de Amazon EC2 como entorno de desarrollo, seleccionar el correspondiente proveedor de la nube en primer lugar.

Cloud provider and region selection

En la sección Nivel de Clúster, seleccione la opción de M0 para crear el clúster de nivel libre. Ofrece 512 MB de espacio de almacenamiento, una versión reciente de MongoDB con WiredTiger como el motor de almacenamiento, un conjunto de réplicas de tres nodos y un generoso 10 GB de ancho de banda por semana.

Cluster tier selection

Por último, dar un nombre significativo para el grupo y pulse el botón Crear Grupo.

Cluster name form

MongoDB Atlas tendrá cinco minutos para configurar el clúster.

2. Configuración del Cluster

Antes de utilizar el clúster, usted tendrá que proporcionar algunos detalles relacionados con la seguridad, así que cambie a la pestaña de Seguridad.

En primer lugar, en la sección de usuarios de MongoDB, debe crear un nuevo usuario por sí mismo mediante el botón Agregar nuevo usuario. En el cuadro de diálogo que aparece, escriba su nombre de usuario deseado y la contraseña, seleccione leer y escribir a cualquier privilegio de base de datos y presione el botón Agregar usuario.

Add new user form

A continuación, en la sección IP Whitelist, debe proporcionar una lista de direcciones IP que vas accediendo el cluster. Por ahora, es suficiente proporcionar la dirección IP actual del ordenador.

Presione el botón de dirección IP agregar para crear una nueva entrada de dirección IP. En el cuadro de diálogo que aparece, pulse el botón de dirección IP actual agregar a rellenar el campo de entrada de la lista blanca. Además, si no tienes una dirección IP estática, es una buena idea para marcarlo es es una entrada temporal marcando el guardar como opción de la lista blanca temporal. Finalmente, presione confirmar para añadir la entrada.

Add whitelist entry form

3. Obtener la Cadena de Conexión

Usted necesitará una cadena de conexión válida para conectar a su clúster de la aplicación. Para conseguirlo, vamos a la pestaña Resumen y pulse el botón Conectar.

En el cuadro de diálogo que se abre, seleccione la opción de Conectar Tu Aplicación y presiona Estoy usando botón de 3.6 o posterior del controlador. Ahora debería poder ver la cadena de conexión. No tendrá su contraseña actual, por lo que tendrás que ponerlo en manual. Después de hacerlo, tome nota de la cuerda así que puede utilizar más adelante.

Connecting your application dialog

4. Instalación del Controlador de Python

Para ser capaces de interactuar con su racimo de MongoDB Atlas mediante programación, debe tener un driver MongoDB instalado en su computadora. Para el lenguaje de programación Python, PyMongo es el conductor más popular disponible hoy en día. La forma recomendada para instalar en su ordenador es utilizar el módulo pip como se muestra a continuación:

Usted puede haber notado que la cadena de conexión de MongoDB Atlas es un mongodb+srv:// URI. Para habilitar el controlador trabajar con los registros SRV de DNS, también debe instalar el módulo dnspython. Aquí está cómo:

5. Conexión al Cluster

Ahora puede utilizar el clúster de MongoDB desde cualquier aplicación de Python. Para seguir junto a mí, crear un nuevo script de Python y abrirlo con cualquier editor de código.

Dentro de la secuencia de comandos, para poder interactuar con el grupo, tendrá una instancia de la clase MongoClient. Como el único argumento para su constructor, pasar la cadena de conexión.

El constructor anterior devuelve inmediatamente y no aumentará los errores. Por lo tanto, para comprobar si se ha establecido con éxito una conexión, sugiero que se intenta realizar una operación en el clúster. Una llamada al método server_info(), que te da varios detalles sobre su instancia de MongoDB, será suficiente.

Si no hay ningún error en la cadena de conexión, tendrá éxito la llamada al método server_info(). Sin embargo, si el usuario o la contraseña que especificó es incorrecta, te encontrarás con un error de OperationFailure. El código siguiente muestra cómo atraparla:

Ahora puede seguir adelante y vuelva a ejecutar la secuencia de comandos.

Python script output

6. Insertar Documentos

La cadena de conexión predeterminada que llegar desde la interfaz de web de MongoDB Atlas menciona una base de datos llamada test. Vamos a continuar con la misma base de datos. Aquí es cómo puede obtener una referencia a él:

Una base de datos MongoDB se compone de una o más colecciones, que no son más que grupos de BSON documentos (abreviatura de binary JSON). El clúster de nivel gratis en MongoDB Atlas puede tener un máximo de 500 colecciones.

Por un ejemplo realista, vamos a crear una nueva colección denominada foods. Con PyMongo, usted no tiene que llamar explícitamente a cualquier método para hacerlo. Usted simplemente puede referencia como si ya existe.

Cabe mencionar que el código anterior no crea la colección de foods inmediatamente. Se crea sólo después de agregar un documento a él. Así que vamos a crear y agregar un nuevo documento que contiene los datos nutricionales de un alimento.

Utilizando el método insert_one() es la forma más sencilla de agregar un documento a una colección. Para especificar el contenido del documento, pasan un diccionario de Python al método. El código de ejemplo siguiente muestra cómo:

Documentos agregando uno a la vez pueden ser ineficientes. Con el método insert_many(), puede añadir varios documentos a su colección a la vez. Se espera que una amplia gama de diccionarios como entrada. El código siguiente agrega dos documentos más a la colección:

El campo acaban en _id que se ve en los documentos mencionados arriba es un campo que se utiliza como una clave primaria por MongoDB. Como tal, es inmutable y debe estar presente en todos los documentos MongoDB. Si se olvida de incluir al crear el documento, PyMongo añadir para usted automáticamente y asignarle un valor único generado automáticamente.

7. Ejecutar Consultas

Cuando hayas añadido unos documentos a su colección, puede ejecutar consultas en él llamando al método find(), que devuelve un objeto Cursor que puede iterar sobre. Si no pasa ningún argumento que, find devuelve todos los documentos de la colección.

El código siguiente muestra cómo imprimir los nombres de todos los alimentos presentan en nuestra colección:

Si desea que el método find() devuelva sólo aquellos documentos que cumplen criterios específicos, debe pasar un diccionario de Python a él. Por ejemplo, si usted quiere encontrar el documento cuyo campo name se establece en "pizza", puede utilizar el código siguiente:

Para consultas más complejas, puede utilizar los operadores de consulta intuitivamente nombre de MongoDB en los diccionarios que se pasa al método find(). Por ejemplo, el código siguiente muestra cómo utilizar el operador $lt para buscar documentos cuyo campo de calories se establece en un valor que es inferior a 280:

Utilizando la notación de punto, también puede utilizar campos anidados en sus consultas. El código siguiente muestra cómo encontrar documentos cuyo campo trans, que está dentro del campo de fats, se establece en un valor que es mayor o igual a 0.5:

8. Actualización y Eliminación de Documentos

Muy similares a los métodos insert_one() y insert_many() son los métodos update_one() y update_many(), que se pueden utilizar para cambiar el contenido de los documentos que ya están dentro de su colección. Tanto los métodos de actualización, además de nuevos datos, necesitan una consulta a cero en los documentos que necesitan ser cambiadas.

Puede utilizar una variedad de operadores de actualización en los métodos de actualización. El más comúnmente utilizado es $set, que permite añadir nuevos campos o actualizar los valores de los campos existentes. El código siguiente muestra cómo agregar dos nuevos campos de nombre de fiber y sugar al documento cuyo campo name se establece en "taco":

Si la consulta que se pasa al método update_one() devuelve más de un documento, se actualiza sólo el primer documento. El método update_many() no tiene esta limitación.

Por último, mediante el uso de los métodos delete_one() y delete_many(), puede borrar documentos en sus colecciones. Ambos métodos necesitan una consulta para determinar qué documentos deben suprimirse. Aquí es cómo usted puede eliminar todos los documentos cuyo campo de calories se establece en un valor que es menos de 300:

Conclusión

Si usted es un web o desarrollador de aplicaciones móviles que quieran usar MongoDB para almacenar datos, el servicio de MongoDB Atlas es para usted. Le permite centrarse en el desarrollo de la aplicación en lugar de preocuparse por detalles como seguridad, rendimiento y adherencia a las mejores prácticas. En este tutorial, aprendió a crear un clúster de MongoDB mediante el servicio, conectar a él y realizar lectura básica y escribir las operaciones en él.

Para aprender más sobre MongoDB Atlas, puede consultar la documentación oficial.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.