Migrar desde MySQL a MongoDB

Migrar desde MySQL a MongoDB

Existen muchas formas de realizarlo desde tablas con estructura diferente a la coleccion

MySQL: tabla: municipios

MongoDB: Coleccion: distrito

Son estructuras diferentes, necesitamos convertir

mongodb

mysql

iddistrito

idmunicipio

distrito

municipio

Provincia provincia (@Referenced)

idprovincia

activo

activo

List<UserInfo> userInfo

---->No existe<---

Pasos:

  • Ejecutar select desde MySQL

select * from municipios;
  1. En NetBeans creamos un archivo nuevo

  • Nombre

  • Pegar el contenido

Los | son los separadores de atributos ,

debemos colocar los nombres de atributos y el userinfo

"userInfo" : [{    "iduserinfo" : "a94b155f-9b87-4afc-a484-2ae752d01de0",      "username" : "avbravo",      "datetime" : { "$date" : 1509894567491 },      "description" : "create"    }]

Al inicio del archivo colocamos

[

]

Separar cada documento por , al final

{"pais":"Afghanistan", "idpais":"AF","userInfo" : [{    "iduserinfo" : "a94b155f-9b87-4afc-a484-2ae752d01de0",      "username" : "avbravo",      "datetime" : { "$date" : 1509894567491 },      "description" : "create"    }]}, 
  {"pais":"Åland Islands", "idpais":"AX","userInfo" : [{    "iduserinfo" : "a94b155f-9b87-4afc-a484-2ae752d01de0",      "username" : "avbravo",      "datetime" : { "$date" : 1509894567491 },      "description" : "create"    }]},

Ejemplo:

[
{"pais":"Afghanistan", "idpais":"AF","userInfo" : [{    "iduserinfo" : "a94b155f-9b87-4afc-a484-2ae752d01de0",      "username" : "avbravo",      "datetime" : { "$date" : 1509894567491 },      "description" : "create"    }]}, 
  {"pais":"Åland Islands", "idpais":"AX","userInfo" : [{    "iduserinfo" : "a94b155f-9b87-4afc-a484-2ae752d01de0",      "username" : "avbravo",      "datetime" : { "$date" : 1509894567491 },      "description" : "create"    }]}, 
]

Ejecutar el import desde mongodb shell

Corregimientos

MySQL: corregimientos

MongoDB: corregimientos

  • Ejecutar un select desde el shell de MySQL

  • Ordenamos los campos para que sea mas fácil convertirlos

select idcorregimiento, corregimiento, idmunicipio from corregimientos
  • Pegar el contenido en un archivo .json en NetBeans

Seleccionamos

 |           1 |

Lo reemplazamos

  • indicamos el distrito referenciado

  • agregamos el atributo activo

  • agregamos el userinfo

,"distrito" : {    "iddistrito" : "1"} ,"activo" : "si",  "userInfo" : [{      "iduserinfo" : "4262a1f3-1748-45da-a28f-d26611d55e53",      "username" : "avbravo",      "datetime" : { "$date" : 1509894567491 },      "description" : "create"    }] },

Quedaría

Reemplazamos para todos los municipios 2,3, etc.

Last updated