Je voudrais entrer dans le shell mongo dans le terminal sur mon MacBook. Cependant, je suis intéressé par la connexion à une instance Mongo exécutée dans le cloud (instance compose.io via un addon Heroku). J’ai le nom, le mot de passe, l’hôte, le port et le nom de la firebase database de l’URI MongoDB:
mongodb://username:[email protected]:10011/my_database
J’ai installé mongodb sur mon MacBook en utilisant Homebrew, non pas parce que je veux que Mongo fonctionne sur mon Mac, mais simplement pour avoir access au programme mongo shell pour se connecter à cette firebase database distante.
Cependant, je ne peux pas trouver la bonne commande pour obtenir l’access complet au shell que je voudrais. En utilisant les instructions trouvées ici http://docs.mongodb.org/manual/reference/program/mongo/ (recherchez “remote”), je peux obtenir ce qui ressemble à une connexion, mais sans donner mon nom d’utilisateur ou mot de passe, je ne suis pas entièrement connecté. En db.auth(username, password)
exécution db.auth(username, password)
renvoie 1 (par opposition à “auth échoue” lorsque je fournis un nom d’utilisateur et un mot de passe incorrects), mais le message d’erreur “non autorisé” s’affiche lors de l’ show dbs
commande show dbs
.
Vous vous connectez probablement bien mais n’avez pas suffisamment de privilèges pour exécuter show dbs
.
Vous n’avez pas besoin d’exécuter le db.auth si vous transmettez l’authentification dans la ligne de commande:
mongo somewhere.mongolayer.com:10011/my_database -u username -p password
Une fois que vous vous connectez, pouvez-vous voir les collections?
> show collections
Si tout va bien et que vous n’avez simplement pas de privilèges d’administrateur sur la firebase database et que vous ne pouvez pas exécuter le show dbs
Avec Mongo 3.2 et supérieur, utilisez simplement votre chaîne de connexion telle quelle:
mongo mongodb://username:[email protected]:10011/my_database