# 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

![](https://1490144122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6bBVlJX-GjApa1%2F-Lc1WhtDA-TTmZ6My9OJ%2F-Lc1WvnKd7b7FkTbw-mv%2Fmunc.png?generation=1554820621604590\&alt=media)

**MongoDB**: Coleccion: distrito

![](https://1490144122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6bBVlJX-GjApa1%2F-Lc1WhtDA-TTmZ6My9OJ%2F-Lc1WvnMgOVLf5Zu9uFF%2Fds.png?generation=1554820620666620\&alt=media)

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;
```

![](https://1490144122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6bBVlJX-GjApa1%2F-Lc1WhtDA-TTmZ6My9OJ%2F-Lc1WvnOtFb-tADBJMrh%2Fse_2.png?generation=1554820612201867\&alt=media)

1. En NetBeans creamos un archivo nuevo

![](https://1490144122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6bBVlJX-GjApa1%2F-Lc1WhtDA-TTmZ6My9OJ%2F-Lc1WvnQk09QdkAiFL2e%2Fjsin.png?generation=1554820612269186\&alt=media)

* Nombre

  ![](https://1490144122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6bBVlJX-GjApa1%2F-Lc1WhtDA-TTmZ6My9OJ%2F-Lc1WvnSx4ylMFfJEWaa%2Fdistro.png?generation=1554820612318405\&alt=media)
* Pegar el contenido

![](https://1490144122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6bBVlJX-GjApa1%2F-Lc1WhtDA-TTmZ6My9OJ%2F-Lc1WvnULq62DEcEaB3G%2Fcon.png?generation=1554820612282736\&alt=media)

Los | son los separadores de atributos ,

debemos colocar los nombres de atributos y el userinfo

```javascript
"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

```javascript
{"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:

```javascript
[
{"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**

![](https://1490144122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6bBVlJX-GjApa1%2F-Lc1WhtDA-TTmZ6My9OJ%2F-Lc1WvnWXFTOZ2rqNBkC%2Fcorreew.png?generation=1554820621936265\&alt=media)

**MongoDB: corregimientos**

![](https://1490144122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6bBVlJX-GjApa1%2F-Lc1WhtDA-TTmZ6My9OJ%2F-Lc1WvnYxF9n7B8Sh5bX%2Fdc2.png?generation=1554820621982296\&alt=media)

* 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

![](https://1490144122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6bBVlJX-GjApa1%2F-Lc1WhtDA-TTmZ6My9OJ%2F-Lc1Wvn_hzidXsoWgiT6%2Fffff.png?generation=1554820612236959\&alt=media)

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"    }] },
```

![](https://1490144122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6bBVlJX-GjApa1%2F-Lc1WhtDA-TTmZ6My9OJ%2F-Lc1WvnbyEF8kAAapxFY%2Fsel.png?generation=1554820612204737\&alt=media)

Quedaría

![](https://1490144122-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6bBVlJX-GjApa1%2F-Lc1WhtDA-TTmZ6My9OJ%2F-Lc1Wvnd7b0uQhYvxFFC%2F3.png?generation=1554820612234281\&alt=media)

Reemplazamos para todos los municipios 2,3, etc.
