Как вызвать команды MongoDB с помощью.Bat-файл

Я пытаюсь выполнить команду MongoDB (для создания БД) использование .Bat-файл.

для этого я пробовал:

cd C:Program FilesMongoDBServer.4bin
mongo 
mongo --eval "use MyDatabase"
pause

но это дает ошибку missing ; before statement @(shell eval):1:4
Как я могу решить эту проблему?

сторона: я уже прошел через MongoDB SyntaxError: отсутствует; перед операцией @(shell)

2 ответов


можете ли вы попробовать с:

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

Я использую .bat файл, который работает правильно и содержит это

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

редактировать

Я тестировал такой файл, и он отлично работает (создает БД, коллекцию и документ)

в MongoDB.летучая мышь!--10-->

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

Изменить 2

если вы хотите запустить свой .файл bat на заднем плане, я сделал .Файл VBS, который работает правильно

в MongoDB.VBS

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

надеюсь, что это помогает


  • поместите этот код в файл bat.
  • он запустится и активирует mongodb в 2 разных привилегированных окнах cmd администратора.
  • пожалуйста, проверьте пути, прежде чем приспособиться к вашей среде.

пуск" runas /user:administrator "cmd /K" cd C:\Program Файлы\MongoDB\Server\3.4\bin & mongod.exe --dbpath c:\data\db"

TIMEOUT / T 10 START

пуск" runas /user:administrator "cmd /K" cd C:\Program Файлы\MongoDB\Server\3.4\bin & mongo.EXE-файл "