Antes de entrar en terrenos más complejos, vamos a ver cómo realizar operaciones básicas de MongoDB pero desde un IDE de programación, usando en mi caso Python como lenguaje y la librería Pymongo, aunque también es posible usar otros lenguajes como Java, por ejemplo, u otras librerías.
Como siempre en Python, si la librería no viene por defecto en nuestro IDE tendremos que instalarla, siendo lo más cómodo bajárnosla en su web, o utilizar Pip para realizar la instalación, como será mi caso, ya que al menos en mi caso, usando Visual Studio Code como IDE, es extremadamente simple:
Una vez instalada, será necesario cerrar el IDE y realizar una importación de la librería, como seguro que sabréis mejor que yo. Para ello, simplemente tenemos que usar import:
Lo primero es lo primero, MongoDB tiene que estar instalado en tu máquina, en cuyo caso usarás localhost, o la IP de la máquina virtual o el servidor en red donde tengas tu SGBBDD escuchando. Después, tocará crear un objeto MongoClient al que pasaremos el hostname y el puerto, que por defecto es el 27017. Si tienes un usuario creado con contraseña asignada, también debes ponerlo.
Vamos a crear una función simple que verifique si nos hemos conectado correctamente:
En la salida vemos que ha podido iniciar conexión en “connect = True”:
Por cierto, por si no sabéis el hostname de vuestro Linux, si como yo usáis una VM o un servidor:
Ahora, procedemos a crear una base de datos como hicimos a mano usando el CLI, pero esta vez, en Python, asignando a una variable esta bbdd.Si ya existe, operaremos sobre la existente:
Si estáis copiando el código, veréis que solo nos mostrará las bases de datos con las que hemos trabajado en artículos anteriores., o ninguna.No pasa nada, es normal, recordemos que en MongoDB no se inicializa como tal la BBDD hasta que no realizamos alguna operación con ella para que no esté vacía y se muestre. Voy a añadir un técnico:
Para ver si existe una colección dentro de una base de datos, asignaremos a una variable, el siguiente código: db.list_collection_names(), así podremos recorrerla buscando coincidencias con la colección:
Si queremos insertar varios documentos a la vez en una colección, debemos saber que es posible, gracias a la función insert_many():
Si lo que queremos es lanzar queries, lo haremos usando la sentencia find como en MongoDB, al que además podemos ir pasando los parámetros que necesitemos. Ojo, porque ya deberíamos usar otro archivo .py o comentar los campos de inserción, sobre todo si hemos metido claves, porque nos dará error. Con FindOne limitamos a uno los resultados:
Otro tipo de consulta es eliminar un resultado que satisfaga la condición. Podemos usar deleteOne, que elimina la primera ocurrencia, o delete_many. Os pongo un ejemplo para eliminar a Juan:
Nos queda la parte de las modificaciones de los documentos ya insertados, una vez que hemos visto cómo insertar, eliminar y recorrerlos. Para esto, vamos a usar el método update o updateOne, de uno o varios documentos a la vez:
Y hasta aquí, este artículo y casi que la colección de píldoras de MongoDB. Aunque me gustaría hacer alguno más con temas más avanzados, como índices, pero de momento también ando liado intentando seguir con artículos de Linux y Cloud, poco a poco.