comment puis-je voir quels ports mongo écoute de mongo shell?

Si une instance mongo est en cours d’exécution, comment puis-je vérifier quels numéros de ports sont écoutés depuis le shell? Je pensais que db.serverStatus() ferait mais je ne le vois pas. je vois ça

 "connections" : { "current" : 3, "available" : 816 

Ce qui est proche … mais non. Suggestions? J’ai lu les documents et je n’arrive pas à trouver une commande qui le fera.

A partir du shell du système, vous pouvez utiliser lsof (voir la réponse de Derick ci-dessous) ou netstat -an pour voir ce que fait réellement un processus. Cependant, en supposant que vous ayez uniquement access au shell mongo (que votre titre de question implique), vous pouvez exécuter la commande serverCmdLineOpts() . Cette sortie vous donnera tous les arguments passés sur la ligne de commande (argv) et ceux du fichier de configuration (analysé) et vous pouvez déduire que le port mongod écoute en fonction de ces informations. Voici un exemple:

 db.serverCmdLineOpts() { "argv" : [ "./mongod", "-replSet", "test", "--rest", "--dbpath", "/data/test/r1", "--port", "30001" ], "parsed" : { "dbpath" : "/data/test/r1", "port" : 30001, "replSet" : "test", "rest" : true }, "ok" : 1 } 

Si vous n’avez pas passé d’options de port spécifiques comme celles ci-dessus, le mongod écoutera par défaut 27017 et 28017 ( console http ). Note: il y a quelques autres arguments qui peuvent altérer les ports sans être explicites, voir ici:

https://docs.mongodb.org/manual/reference/configuration-options/#sharding.clusterRole

Vous pouvez le faire depuis le shell du système d’exploitation en exécutant:

 sudo lsof -iTCP -sTCP:LISTEN | grep mongo 

Essaye ça:

 db.runCommand({whatsmyuri : 1}) 

Il affichera à la fois l’adresse IP et le numéro de port.

MongoDB n’écoute que sur un port par défaut (27017). Si l’interface --rest est active, le port 28017 (27017 + 1000) sera également ouvert pour gérer les requêtes Web pour plus de détails.

MongoDB prend en charge une commande getParameter , mais cela ne fonctionne que si vous êtes déjà connecté à la firebase database (à quel point vous connaissez déjà le port).