如何使用.bat文件调用MongoDB命令

时间:2016-12-30 08:07:45

标签: windows mongodb batch-file

我正在尝试使用.bat文件执行MongoDB命令(用于创建数据库)

为此,我尝试过:

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

但它给出了错误missing ; before statement @(shell eval):1:4
我该如何解决这个问题?

方:我已经完成了MongoDB SyntaxError: missing ; before statement @(shell)

3 个答案:

答案 0 :(得分:8)

你可以尝试:

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

我使用的.bat文件正常工作并包含此

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

修改

我测试了这样的文件,它工作正常(创建数据库,集合和文档)

<强> mongodb.bat

cd \Program Files\MongoDB\Server\3.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

希望有所帮助

答案 1 :(得分:2)

  • 将此代码放入您的bat文件中。
  • 它将在2个不同的管理员特权cmd窗口中启动并激活mongodb。
  • 请检查之前的路径以适应您的环境。
  

START&#34; runas / user:administrator&#34; cmd / K&#34; cd C:\ Program   Files \ MongoDB \ Server \ 3.4 \ bin&amp; mongod.exe --dbpath c:\ data \ db&#34;

     

TIMEOUT / T 10 START

     

START&#34; runas / user:administrator&#34; cmd / K&#34; cd C:\ Program   Files \ MongoDB \ Server \ 3.4 \ bin&amp; mongo.exe&#34;

答案 2 :(得分:0)

尝试一下:

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

或使用包含命令的文本文件script.txt并将批处理文件编写为:

cd C:\Program Files\MongoDB\Server\3.4\bin
mongo.exe mydb < script.txt

如果文件位于其他位置,则可以使用完整路径。