Migración de MySQL a MongoDB mediante CSV

logo_gpsEn la entrada anterior hicimos una comparativa sobre MySQL y MongoDB. Si te has decidido a probar con MongoDB, vamos a explicaros como migrar una tabla de MySQL a MongoDB.

Este proceso consta de tres partes:

1- Exportación de MySQL a CSV. Dentro de MySQL ejecutamos la siguiente consulta cambiando los datos por los que correspondan en vuestro caso. En nuestro caso vamos a recoger todos los datos de la tabla “candidatos” de la BBDD “rrhh”.

select *  into outfile '/tmp/candidatos.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' from rrhh.candidatos;

2- Importación en MongoDB. Para la importación usaremos la herramienta nativa de MongoDB “mongoimport“. Nos situaremos mediante la consola en la ruta donde se ha exportado el fichero y le indicaremos que use la BBDD rrhh de MongoDB y la colección (tabla) “candidatos”. En caso de no existir alguna de ellas, se crearían automáticamente y si existe la colección “candidatos”, se añadirían estos datos al final de los datos actuales.

mongoimport -d rrhh -c candidatos --type csv --file candidatos.csv --fields "idCandidato,nombre,primerApellido,segundoApellido,genero,idNivelIngles,telefono,email,fechaNacimiento,disponibilidad,salario,freelance,tarifa,idFormacion,detalleFormacion,cvWord,cvPDF,foto,formaContacto"

3- Comprobación de los datos en MongoDB:

Para comprobar los datos, accederemos a MongoDB y desde la consola de Mongo ejecutaremos un equivalente a “select * from candidatos”: 

db.candidatos.find().pretty() 

Con pretty(), se visualizan los datos de forma “clara” en la consola aunque no es necesario. Si queremos saber cuantos registros tiene esa tabla tan solo habría que remplazar pretty() por count(). Para ayudaros  con la generación o migración de queries al principio, os facilitamos la siguiente página: http://www.querymongo.com/, la cual transforma el código MySQL a MongoDB.

Esperamos que esta entrada os haya ayudado. Estad atentos a próximas entregas.

Un saludo,

Equipo de base de datos.