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)
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
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"