Je viens de rencontrer le même problème sur mon ordinateur Windows 7. J'ai suivi les instructions de la documentation de MongoDB pour l'installation, mais il ne me permettait pas d'exécuter "net start MongoDB" à moins que je ne sois dans "C:\". Je ne voulais pas retourner en arrière et réinstaller MongoDB pour suivre les instructions incluses dans le lien Webiyo mentionné ci-dessus. Si vous avez déjà installé MongoDB selon leur documentation et que vous souhaitez pouvoir exécuter "net start MongoDB" depuis n'importe quel répertoire de votre projet :
Allez dans HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > services > MongoDB
Double-cliquez sur ImagePath sous la colonne Nom
Collez le ImagePath suivant (modifiez le répertoire et les noms de dossier pour correspondre à vos besoins) :
C:\mongodb\bin\mongod.exe --service --rest --master --logpath=C:\mongodb\log\mongolog.txt --dbpath=C:\mongodb\data\db --config C:\mongodb\mongod.cfg
Notez que si vous copiez directement cette valeur ImagePath et que votre dossier "data" est dans le répertoire mongodb au lieu de C:\, ajoutez la ligne suivante à votre fichier "mongod.cfg" : dbpath=C:\mongodb\data\db
Après avoir fait cela, lorsque j'exécute "net stop MongoDB", je reçois le message "System error 109 has occurred. The pipe has been ended." Vous pourriez le voir également. Ce message a été discuté en détail sur jira.mongodb.org.
Pour vous faire gagner du temps et éviter de lire toute la discussion, le post de Tad Marshall résume bien ce problème :
"... c'était en bon état dans la version 2.1.0 ; des changements ultérieurs l'ont cassé à nouveau. Mais oui, vous obtenez ce message d'erreur dans le code actuel.
L'explication est que mongod.exe se termine depuis un fil de rappel créé par le Gestionnaire de contrôle de service Windows lorsqu'il nous appelle en raison de "net stop mongodb" et cela casse le tube RPC qu'il utilisait pour créer le fil de rappel. Nous devons réorganiser notre logique de sortie pour éviter cela.
Le message d'erreur est le seul véritable effet de ce problème ; nous nous arrêtons sur commande, proprement, et informons le Gestionnaire de contrôle de service Windows que nous sommes arrêtés, mais ensuite la commande "net" affiche un message d'erreur car nous n'avons pas renvoyé l'appel RPC de la manière dont il s'attendait à ce que nous le fassions."
3 votes
J'ai eu le même problème lors de l'installation de MongoDB en tant que service. Le problème était que j'avais utilisé un chemin relatif pour le fichier de configuration.
2 votes
Vous avez besoin de privilèges administratifs pour cela