Al usar mongoimport
, puede usar --jsonArray
parámetro para importar una matriz de documentos JSON.
Ejemplo
Supongamos que tenemos el siguiente documento JSON llamado pets_array.json
:
[
{"_id":1.0,"name":"Wag","type":"Dog"},
{"_id":2.0,"name":"Bark","type":"Dog"},
{"_id":3.0,"name":"Meow","type":"Cat"}
]
Si tratamos de importar eso a MongoDB sin usando --jsonArray
parámetro, obtenemos el siguiente error:
2021-01-03T13:52:58.360+1000 no collection specified 2021-01-03T13:52:58.360+1000 using filename 'pets_array' as collection 2021-01-03T13:52:58.366+1000 connected to: mongodb://localhost/ 2021-01-03T13:52:58.371+1000 Failed: cannot decode array into a D 2021-01-03T13:52:58.371+1000 0 document(s) imported successfully. 0 document(s) failed to import.
Básicamente, no puede decodificar la matriz en un documento.
Para arreglar esto, simplemente podemos agregar --jsonArray
parámetro:
mongoimport --db=PetHotel --jsonArray --file=pets_array.json
Salida:
2021-01-03T13:58:13.407+1000 no collection specified 2021-01-03T13:58:13.408+1000 using filename 'pets_array' as collection 2021-01-03T13:58:13.421+1000 connected to: mongodb://localhost/ 2021-01-03T13:58:13.450+1000 3 document(s) imported successfully. 0 document(s) failed to import.
Esto nos dice que los tres documentos se importaron correctamente.
Ahora podemos echar un vistazo a la colección para comprobar:
db.pets_array.find()
Resultado:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" } { "_id" : 2, "name" : "Bark", "type" : "Dog" }
Como era de esperar, los tres documentos están en la colección recién creada.
La colección se creó recientemente porque no especificamos una colección para importar los documentos. Si lo hubiéramos hecho, se habrían importado a la colección especificada.
No tengo 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 mongoimport
¿Comandos?
Necesitas 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.