2017-10-15 2 views
0

Je ne peux pas importer de données dans ma base de données existante située sur mongoDBAtlas. J'ai installé et connecté robomongo avec mongoDBAtlas pour travailler avec atlas.Impossible d'importer des données dans la base de données mongo à l'aide de mongoimport

J'ai créé une nouvelle base de données jaspe et collection utilisateur dans robomongo puis j'ai créé le fichier user.json dans mon projet où sont stockées mes données.

J'ai suivi le tutoriel sur https://docs.atlas.mongodb.com/import/mongoimport/ - comment utiliser mongoimport avec mongodb.

Voici ma commande, Im taper dans le terminal:

mongoimport --uri mongodb://Morty:<PASSWORD>@jasper-shard-00-00-mrihb.mongodb.net:27017/jasper?ssl=true&replicaSet=jasper-shard-0&authSource=admin --collection User --drop --file ./src/data/user.json --jsonArray 

qui me donne une erreur:

[1] 40930 
[2] 40931 
-bash: --collection: command not found 
[2]+ Done     replicaSet=jasper-shard-0 
KSC1-LMC-K00587:Interview-test-part-one marze$ 2017-10-15T10:38:35.209+0200 no collection specified 
2017-10-15T10:38:35.209+0200 using filename '' as collection 
2017-10-15T10:38:35.209+0200 error validating settings: invalid collection name: collection name cannot be an empty string 
2017-10-15T10:38:35.209+0200 try 'mongoimport --help' for more information  

Si je lance mongoimport pour localhost cela fonctionne parfaitement.

Où devrait être le problème?

+0

Placez des guillemets autour de la chaîne de connexion uri. Vous avez un '&' dans lequel votre shell (bash, zsh, peu importe) pense que vous voulez dire quelque chose de différent. –

+0

@NeilLunn vraiment merci pour le conseil. C'était le problème :) – Morten

+0

FYI. Tout document qui vous demande de spécifier 'authSource = admin' est vraiment obsolète. Les pilotes généraux (et donc les outils) le font par défaut, donc ce n'est pas vraiment nécessaire. C'est aussi un problème de compatibilité pour MongoDB 3.6 à venir s'il y a des utilisateurs définis ailleurs que 'admin'. –

Répondre

0

Solution: -utiliser des citations pour uri param.

mongoimport --uri "mongodb://Morty:<PASSWORD>@jasper-shard-00-00-mrihb.mongodb.net:27017/jasper?ssl=true&replicaSet=jasper-shard-0&authSource=admin" --collection User --drop --file ./src/data/user.json --jsonArray