Ao usar
mongoimport
, você pode usar o --jsonArray
parâmetro para importar uma matriz de documentos JSON. Exemplo
Suponha que temos o seguinte documento JSON chamado
pets_array.json
:[
{"_id":1.0,"name":"Wag","type":"Dog"},
{"_id":2.0,"name":"Bark","type":"Dog"},
{"_id":3.0,"name":"Meow","type":"Cat"}
]
Se tentarmos importar isso para o MongoDB sem usando o
--jsonArray
parâmetro, obtemos o seguinte erro: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.
Basicamente, ele não pode decodificar a matriz em um documento.
Para corrigir isso, podemos simplesmente adicionar o
--jsonArray
parâmetro:mongoimport --db=PetHotel --jsonArray --file=pets_array.json
Saída:
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.
Isso nos diz que todos os três documentos foram importados com sucesso.
Agora podemos dar uma olhada na coleção para verificar:
db.pets_array.find()
Resultado:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" } { "_id" : 2, "name" : "Bark", "type" : "Dog" }
Como esperado, todos os três documentos estão na coleção recém-criada.
A coleção foi criada recentemente porque não especificamos uma coleção para a qual importar os documentos. Se tivéssemos, eles teriam sido importados para a coleção especificada.
Não tem mongoimport
?
mongoimport
faz parte do pacote MongoDB Database Tools. As ferramentas de banco de dados do MongoDB são um conjunto de utilitários de linha de comando para trabalhar com o MongoDB. Se você não tem certeza se possui o MongoDB Database Tools/
mongoimport
instalado, tente executar o seguinte comando no seu Terminal ou Prompt de Comando para verificar:mongoimport --version
Se você o tiver, deverá ver as informações da versão, etc. Se não o tiver, poderá usar as instruções de instalação no site do MongoDB para instalá-lo em seu sistema.
Onde executar mongoimport
Comandos?
Você precisa executar
mongoimport
comandos da linha de comando do seu sistema (por exemplo, um novo Terminal ou janela de prompt de comando). Não os execute a partir do
mongo
Concha.