Cuando use MongoDB, puede usar mongoimport
para importar documentos a una colección. mongoimport
es una utilidad de línea de comandos que importa contenido de un archivo Extended JSON, CSV o TSV. El archivo de importación podría haber sido creado por mongoexport
o alguna otra utilidad de exportación.
Este artículo presenta ejemplos de cómo importar un archivo JSON a MongoDB.
Ejemplo
Supongamos que tenemos el siguiente archivo JSON llamado pets.json
:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 2, "name" : "Bark", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" }
El siguiente comando importa el archivo JSON a MongoDB:
mongoimport --db=PetHotel --file=pets.json
En este caso, no especifiqué una colección para importarlo, por lo que creó una colección con el mismo nombre del archivo (pets
).
Comprueba los resultados
Echemos un vistazo a la colección.
db.pets.find()
Resultado:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 2, "name" : "Bark", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" }
Podemos ver que los documentos se importaron como se esperaba.
Especifique el nombre de la colección
Puedes usar la --collection
(o -c
) para especificar una colección en la que importar el archivo.
Aquí hay un ejemplo del uso de la --collection
parámetro para importar el mismo archivo a una colección diferente:
mongoimport --db=PetHotel --collection=pets2 --file=pets.json
Si la colección aún no existe, se creará. Si ya existe, el resultado de la importación dependerá del modo que esté usando (más sobre esto a continuación).
Eliminar la colección antes de importar
Puedes usar el --drop
parámetro para eliminar cualquier colección existente con el mismo nombre que la que está intentando crear/importar.
Imagina que tenemos un segundo archivo, llamado pets2.json
, con el siguiente documento:
{ "_id" : 4, "name" : "Bubbles" } { "_id" : 5, "name" : "Hop", "type": "Kangaroo" }
Esto es lo que sucede si importo ese documento a las pets
colección usando --drop
opción:
mongoimport --db=PetHotel --collection=pets --drop --file=pets2.json
Salida:
2021-01-03T15:42:25.626+1000 connected to: mongodb://localhost/ 2021-01-03T15:42:25.640+1000 dropping: PetHotel.pets 2021-01-03T15:42:25.734+1000 2 document(s) imported successfully. 0 document(s) failed to import.
El mensaje nos dice que se eliminó la colección y se importó un documento.
Echemos un vistazo a la colección:
db.pets.find()
Resultado:
{ "_id" : 5, "name" : "Hop", "type" : "Kangaroo" } { "_id" : 4, "name" : "Bubbles" }
Como era de esperar, nuestros dos nuevos documentos son los únicos en la colección.
Modos de importación
Hay varios modos de importación que puede usar con mongoimport
. Estos modos determinan qué sucede si ya hay documentos coincidentes en la colección a la que intenta importar.
Los modos son los siguientes:
Modo | Descripción |
---|---|
insert | Este es el modo predeterminado. Este modo inserta los documentos del archivo de importación. Si ya existe un documento coincidente en la colección, se produce un error. Un documento coincidente es aquel que tiene la misma ID única (como un _id coincidente campo) como un documento en el archivo de importación. |
upsert | Reemplaza documentos existentes en la base de datos con documentos coincidentes del archivo de importación. Se insertan todos los demás documentos. |
merge | Combina documentos existentes que coinciden con un documento en el archivo de importación con el nuevo documento. Se insertan todos los demás documentos. |
delete | Elimina los documentos existentes en la base de datos que coinciden con un documento en el archivo de importación. Cualquier documento que no coincida no tiene efecto. |
Ver los modos de importación de mongoimport
para ver ejemplos de cada modo.
Busca mongoimport
mongoimport
es parte del paquete de herramientas de base de datos de MongoDB. Las herramientas de base de datos de MongoDB son un conjunto de utilidades de línea de comandos para trabajar con MongoDB.
Si no está seguro de tener MongoDB Database Tools/mongoimport
instalado, intente ejecutar el siguiente comando en su Terminal o Símbolo del sistema para verificar:
mongoimport --version
Si lo tiene, debería ver la información de la versión, etc. Si no lo tiene, puede usar las instrucciones de instalación en el sitio web de MongoDB para instalarlo en su sistema.
¿Dónde ejecutar los comandos?
No olvides que debes ejecutar mongoimport
comandos desde la línea de comandos de su sistema (por ejemplo, una nueva ventana de terminal o símbolo del sistema).
No los ejecutes desde mongo
cáscara.