comment puis-je me connecter à un serveur mongo distant à partir du terminal Mac OS

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