2. Bases de datos NoSQL

2.9. Importar ficheros JSON a MongoDB

Vamos a trabajar ahora importando un fichero en formato JSON que nos proporciona el navegador genómico UCSC.

Descargamos el fichero JSON del siguiente enlace:
https://api.genome.ucsc.edu/getData/track?genome=hg19;track=knownGene;chrom=chr1

Este fichero contiene la información de todos los genes conocidos del cromosoma 1.

Bajamos el fichero y lo guardamos con el nombre hg19chr1.json

Para importar el fichero a MongoDB abrimos un nuevo terminal en la carpeta de la máquina virtual donde hemos guardado el fichero y escribimos

mongoimport --db hg19 --collection chr1 --drop --file hg19chr1.json

Vamos a analizar esta instrucción:

El comando mongoimport se ejecuta fuera del cliente (mongo) y tiene varias opciones o parámetros

  • --db indica la base de datos. Si existe la utiliza para crear la colección de documentos, si no existe la crea.
  • --collection db indica la colección. Si existe, la utiliza para insertar en ella los documentos del fichero que importamos, si no existe la crea.
  • --drop elimina los documentos previos de la colección, si existe.
  • --file indica el fichero que vamos a importar. Si los documentos estuvieran dentro de un array tenemos que añadir la opción --jsonArray

Si nos conectamos ahora al servidor de MongoDB con el cliente mongo y miramos las bases de datos con show dbs, vemos cómo se ha creado la base de datos hg19.

Si nos conectamos a la base de datos hg19 con use hg19 y vemos las colecciones con show collections podemos ver la colección chr1 que hemos creado y ya podemos trabajar con ella.