web-dev-qa-db-fra.com

Comment appeler les commandes MongoDB à l'aide du fichier .bat

J'essaie d'exécuter la commande MongoDB (pour créer une base de données) en utilisant un fichier .bat.

Pour cela j'ai essayé:

cd C:\Program Files\MongoDB\Server\3.4\bin
mongo 
mongo --eval "use MyDatabase"
pause

Mais cela donne une erreur missing ; before statement @(Shell eval):1:4 
Comment puis-je résoudre ce problème?

Côté: j'ai déjà parcouru MongoDB SyntaxError: missing; avant la déclaration @ (Shell)

8
Div

Pouvez-vous essayer avec:

cd Program Files\MongoDB\Server\3.4\bin
mongo.exe 
mongo.exe --eval "use MyDatabase"
pause

J'utilise un fichier .bat qui fonctionne correctement et contient ce

cd \Program Files\MongoDB\Server\3.2\bin
mongod.exe
pause

MODIFIER

J'ai testé un fichier comme celui-ci et cela fonctionne bien (créer une base de données, une collection et un document)

mongodb.bat

cd \Program Files\MongoDB\Server\3.2\bin
mongo.exe db-mydb --eval "db.yourCollection.insert({key:'value'});"
pause

EDIT 2

Si vous souhaitez exécuter votre fichier .bat en arrière-plan, j'ai créé un fichier .VBS qui fonctionne correctement.

mongodb.VBS

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "C:\Path\To\Your\mongodb.bat" & Chr(34), 0
Set WshShell = Nothing

J'espère que ça aide

8
Sparw
  • Mettez ce code dans votre fichier chauve-souris. 
  • Il va démarrer et activer mongodb dans 2 fenêtres de commande différentes avec privilèges d’administrateur. 
  • Veuillez vérifier les chemins avant de vous adapter à votre environnement.

START "runas/utilisateur: administrateur" cmd/K "cd C:\Programme Fichiers\MongoDB\Server\3.4\bin & mongod.exe --dbpath c:\data\db"

TIMEOUT/T 10 DÉBUT 

START "runas/utilisateur: administrateur" cmd/K "cd C:\Programme Fichiers\MongoDB\Server\3.4\bin & mongo.exe"

2