web-dev-qa-db-de.com

So rufen Sie MongoDB-Befehle mit der .bat-Datei auf

Ich versuche, den MongoDB-Befehl (für DB erstellen) mit der .bat-Datei auszuführen.

Dafür habe ich versucht:

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

Aber es gibt einen Fehler missing ; before statement @(Shell eval):1:4 
Wie kann ich dieses Problem lösen?

Seite: Ich habe bereits MongoDB SyntaxError: missing; before Anweisung @ (Shell) durchlaufen.

8
Div

Kannst du es mit:

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

Ich verwende eine .bat-Datei, die ordnungsgemäß funktioniert und diese enthält

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

EDIT

Ich habe eine Datei wie diese getestet und sie funktioniert einwandfrei (db, Sammlung und Dokument erstellen)

mongodb.bat

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

EDIT 2

Wenn Sie Ihre .bat-Datei im Hintergrund ausführen möchten, habe ich eine .VBS-Datei erstellt, die ordnungsgemäß funktioniert

mongodb.VBS

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

Ich hoffe es hilft

8
Sparw
  • Fügen Sie diesen Code in Ihre bat-Datei ein. 
  • Es startet und aktiviert die Mongodb in 2 verschiedenen Admin-privilegierten Cmd-Fenstern. 
  • Bitte überprüfen Sie die Pfade, um sich an Ihre Umgebung anzupassen.

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

TIMEOUT/T 10 START 

START "runas/user: administrator" cmd/K "cd C:\Programme Dateien\MongoDB\Server\3.4\bin & mongo.exe"