Mongo DB

Programación con Python y bases de datos

En este post te muestro cómo conectar Python 3 a varios motores de bases de datos, por ejemplo, MySQL / MariaDB, SQLite, SQL Server, PostgreSQL y SQLite 3.

Las bases de datos son un aspecto fundamental en los sistemas de información, pues permiten guardar y leer información de cualquier tipo.

Python provee la interfaz DB API 2.0 para conectar a todas las bases de datos usando la misma API o interfaz de programación de aplicaciones.

Python y bases de datos como MongoDB, MySQL, PostgreSQL, SQL Server, SQLite | ejemplos de código

Existen muchos motores de bases de datos que pueden ser consumidos con Python.

Continue reading…

CRUD de MongoDB y Python con PyMongo

CRUD (create, read, update, delete) en Python y MongoDB

Siguiendo con la serie de tutoriales para consumir distintas bases de datos hoy veremos cómo conectarnos a una base de datos de MongoDB y hacer todas las operaciones para crear, leer, actualizar y eliminar desde Python.

CRUD de MongoDB y Python con PyMongo

CRUD de MongoDB y Python con PyMongo

El módulo que usaremos será PyMongo; el cual está disponible para instalarse por medio de Python y que nos permite conectarnos a MongoDB, obtener bases de datos, colecciones y todo lo relacionado a ello.

Al finalizar podremos gestionar una colección de productos de una tienda.

Continue reading…

Instalar librería de MongoDB en PHP

Conectar PHP con MongoDB: CRUD

Hoy veremos un tutorial sobre cómo trabajar con PHP y el motor de base de datos MongoDB. Haremos un CRUD que nos permitirá crear, leer, actualizar y eliminar documentos de MongoDB utilizando el lenguaje de programación PHP.

Existe una librería que provee mongodb, la cual funciona de maravilla para trabajar con MongoDB y PHP. Veamos algunos ejemplos de uso.

Como segunda parte del tutorial, veremos un ejemplo práctico que podrás probar en vivo, ya que aquí veremos únicamente cómo son las operaciones administrativas (CRUD o ABC) para no complicar el post.

Continue reading…

Verificar que la extensión de MongoDB se ha cargado

Instalar extensión de MongoDB para PHP

En este post veremos cómo descargar la extensión de MongoDB para PHP, la cual no viene instalada por defecto. También veremos cómo editar el archivo php.ini para habilitar la extensión que nos permite conectarnos a MongoDB.

La extensión de la que hablo se llama php_mongodb.dll y es muy fácil de habilitar, siempre y cuando la tengas instalada. Veremos cómo descargarla e instalarla.

Continue reading…

5 - Abrir base de datos, explorar colecciones y datos de MongoDB usando Robomongo

Instalar Robomongo 3T en Windows 10 para administrar MongoDB

Introducción

Acabamos de ver cómo instalar MongoDB sobre Windows 10. Sin embargo, siempre nos viene bien una GUI o interfaz gráfica para administrar nuestros datos.

Así que hoy veremos cómo descargar, instalar y ejecutar Robomongo sobre Windows 10; un gestor de la base de datos de MongoDB basado en Qt.

La instalación es realmente sencilla, no requiere muchos ajustes y presenta una interfaz amigable.

Continue reading…

Probar mongo - crear colección, insertar y leer datos

Instalar MongoDB 4 en Windows 10

Introducción

El gestor o motor de bases de datos MongoDB ha evolucionado mucho desde la última vez que lo probé. Ahora incluso está disponible como una base de datos como servicio. Veamos hoy cómo instalar MongoDB en su versión de servidor sobre Windows 10.

Veremos cómo instalar la versión normal o común, la que nos servirá ya sea para tener un servidor de MongoDB en Windows en modo producción, o en modo de desarrollo. También veremos cómo instalar el servidor como servicio (para que inicie con el sistema) y finalmente agregaremos la carpeta a la variable PATH para poder ejecutar la shell desde cualquier lugar.

En resumen, haremos lo siguiente:

  • Descarga de MongoDB
  • Instalación paso a paso de MongoDB
  • Instalar MongoDB como servicio
  • Agregar a la variable PATH
  • Crear nuestra primera colección e insertar y listar datos

Continue reading…

Eliminar documentos duplicados en MongoDB

Introducción

Hablando de duplicidad, en alguna ocasión tuve que eliminar datos duplicados en MySQL y ya lo expliqué. Hoy explicaré cómo podemos eliminar duplicados en MongoDB, un gestor de base de datos que se compone de colecciones y que dentro de éstas aloja documentos.

Eliminar duplicados

Si sólo vienes por la solución, y no quieres ver el ejemplo, lo que tienes que ejecutar es esto:

Ahí “coleccion” es el nombre de tu colección. Y “laClave” es la clave que no quieres que se repita más de una vez.

Por cierto, haz un respaldo completo antes.

Quiero aclarar que la solución no es mía, yo sólo vengo a exponerla y a dar un ejemplo.

Ejemplo

Base de datos

Para este ejemplo utilizaré una base de datos de libros, en donde no puede repetirse el ISBN. Por favor nota que sólo es un base de datos de ejemplo, no esperes que los datos rean reales; se trata de ilustrar.

Insertaré esto:

Consultando

Consultaré los datos para ver si se han insertado:

Hora de eliminar los repetidos. Nota: en este caso es un ejemplo algo raro, pero puede que en alguna ocasión nos falle sólo una palabra y tengamos que eliminar los duplicados.

Eliminando duplicados

Para eliminarlos, utilizo esto:

Ejecuto la “consulta”:

Verificando eliminación

Y si vuelvo a consultar los datos existentes, veo esto:

¡Magia pura! ya no hay repetidos. Nos hemos quedado sólo con un dato. Esto funciona muy bien cuando tenemos documentos realmente repetidos, es decir, que todas sus claves sean idénticas; ya que de esta manera no importará cuál de ambos se elimine.

En este caso utilizamos al ISBN para eliminar, pero podemos utilizar cualquier clave.

Respaldar base de datos de MongoDB

Introducción

En toda base de datos siempre necesitaremos importar y exportar datos. Ya sea por prevención, seguridad o porque haremos un movimiento que puede hacer que la base de datos quede mal. El punto es que siempre lo necesitaremos.

Hoy veremos cómo hacer un respaldo completo de una base de datos en MongoDB utilizando tanto mongoexport y mongoimport como mongodump y mongorestore.

Diferencias entre mongoexport, mongoimport, mongodump y mongorestore

Mongoexport funciona para exportar. Para importar datos que respaldamos con esta herramienta, utilizamos mongoimport.

Mongodump funciona para exportar, y su contrario es mongorestore.

La diferencia es que mongodump conserva los datos de una forma más “fiel”, es decir, si tenemos datos que no son simples cadenas o números, éste método tratará de que queden intactos al exportarlos e importarlos.

Otra diferencia es que el primero exporta a JSON y el segundo a BSON. Si me preguntan a mí, prefiero JSON, pues guardo datos normales.

Importando y exportando con JSON

Sintaxis

Exportar

La sintaxis es la siguiente:

mongoexport --db tuBaseDeDatos --collection laColeccion --out C:\la\ruta\de\salida\del\archivo.json

Importar

Y para importar, usamos esto:

mongoimport --db tuBaseDeDatos --collection laColeccion --file C:\la\ruta\del\archivo.json

Ejemplo

Base de datos

Para ejemplificar esto, usaré una base de datos de una tienda, que tendrá una colección llamada productos. Habrá 3 registros en dicha colección, los cuales se ven así:

Exportando con mongoexport

Ahora voy a exportarlos:

Nota: no puse la ruta completa, sólo puse el nombre del archivo, por lo que el programa tomará la ruta actual como la ruta en donde debe quedar el archivo. En este caso es la raíz del disco D.

Si visito la ruta en donde lo exporté, veré que se creó un archivo que se puede abrir con un editor de texto plano:

Ahora eliminaré todos los datos de la base de datos. Al consultarlos, queda esto:

Así que la tabla ha quedado vacía.

Importando con mongoimport

Como ya hemos vaciado la tabla, vamos a probar la importación. Voy a importar el archivo:

Y ahora, si veo los registros que tengo, veré esto:

Y así podemos importar y exportar. Veamos ahora las otras 2 herramientas.

Importando y exportando con BSON

Para mostrar la diferencia, ahora vamos a exportar una base de datos completa.

Sintaxis

Exportar

Para exportar, hacemos lo siguiente:

mongodump --db tuBaseDeDatos --out C:\la\ruta\de\salida\de\la\carpeta

 

Importar

Y para importar, esto:

mongorestore C:\la\ruta\de\la\carpeta

En este caso no especificamos base de datos ni colección, pues la base de datos será creada automáticamente.

Ejemplo

Base de datos

Utilizaremos la misma base de datos de productos

Exportar con mongodump

Para exportar es:

Esto hizo que una carpeta fuera creada:

Importar con mongorestore

Ahora para importar únicamente paso el nombre de la carpeta como argumento:

Conclusión y notas

Si tenemos control de acceso, podemos pasar nuestro usuario y contraseña con –username y –password respectivamente. Por cierto, la contraseña debe ir entre comillas.

También tenemos las opciones –host y –port. Y puede que haya otras, pero espero haber mencionado aquí las más importantes.

Por otro lado, podemos exportar colecciones únicas, base de datos, todas las bases de datos, y muchas combinaciones que no podría explicar en un post.

Aquí dejo una lista de enlaces que pueden ser de ayuda: