Lors de l'utilisation de mongoimport
, vous pouvez utiliser le --jsonArray
paramètre pour importer un tableau de documents JSON.
Exemple
Supposons que nous ayons le document JSON suivant appelé 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 nous essayons d'importer cela dans MongoDB sans en utilisant le --jsonArray
paramètre, nous obtenons l'erreur suivante :
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.
Fondamentalement, il ne peut pas décoder le tableau dans un document.
Pour résoudre ce problème, nous pouvons simplement ajouter le --jsonArray
paramètre :
mongoimport --db=PetHotel --jsonArray --file=pets_array.json
Sortie :
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.
Cela nous indique que les trois documents ont été importés avec succès.
Nous pouvons maintenant jeter un œil à la collection pour vérifier :
db.pets_array.find()
Résultat :
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" } { "_id" : 2, "name" : "Bark", "type" : "Dog" }
Comme prévu, les trois documents se trouvent dans la collection nouvellement créée.
La collection est nouvellement créée car nous n'avons pas spécifié de collection dans laquelle importer les documents. Si nous l'avions fait, ils auraient été importés dans la collection spécifiée.
Vous n'avez pas mongoimport
?
mongoimport
fait partie du package MongoDB Database Tools. Les outils de base de données MongoDB sont une suite d'utilitaires de ligne de commande permettant de travailler avec MongoDB.
Si vous n'êtes pas sûr d'avoir les outils de base de données MongoDB/mongoimport
installé, essayez d'exécuter la commande suivante dans votre terminal ou invite de commande pour vérifier :
mongoimport --version
Si vous l'avez, vous devriez voir les informations de version, etc. Si vous ne l'avez pas, vous pouvez utiliser les instructions d'installation sur le site Web de MongoDB pour l'installer sur votre système.
Où exécuter mongoimport
Commandes ?
Vous devez exécuter mongoimport
commandes à partir de la ligne de commande de votre système (par exemple, un nouveau terminal ou une nouvelle fenêtre d'invite de commande).
Ne les exécutez pas depuis le mongo
coquille.