简体   繁体   English

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

[英]How to call MongoDB commands using .bat file

I'm trying to execute MongoDB command (for create DB) using .bat file.我正在尝试使用 .bat 文件执行 MongoDB 命令(用于创建 DB)

For that I've tried:为此,我尝试过:

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

But it gives an error missing ; before statement @(shell eval):1:4但它给出了一个错误missing ; before statement @(shell eval):1:4 missing ; before statement @(shell eval):1:4
How can I solve this issue?我该如何解决这个问题?

Side: I've already gone through MongoDB SyntaxError: missing ;边:我已经经历过MongoDB SyntaxError: missing ; before statement @(shell) 声明之前@(shell)

Can you try with :你可以试试:

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

I am using a .bat file which works properly and contains this我正在使用一个 .bat 文件,它可以正常工作并包含此文件

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

EDIT编辑

I tested a file like this and it works fine (create db, collection and document)我测试了一个这样的文件,它工作正常(创建数据库、集合和文档)

mongodb.bat mongodb.bat

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

EDIT 2编辑 2

If you want to run your .bat file on the background, i have made a .VBS file which works properly如果你想在后台运行你的 .bat 文件,我已经制作了一个可以正常工作的 .VBS 文件

mongodb.VBS mongodb.vbs

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

Hope it helps希望能帮助到你

  • Put this code in your bat file.将此代码放在您的 bat 文件中。
  • It'll start and activate the mongodb in 2 different admin privileged cmd windows.它将在 2 个不同的管理员特权 cmd 窗口中启动和激活 mongodb。
  • Please check the paths before to adjust to your environment.请先检查路径以适应您的环境。

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

TIMEOUT /T 10 START超时 /T 10 开始

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

Try this:尝试这个:

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

or use a text file script.txt containing your commands and write batch file as:或使用包含您的命令的文本文件 script.txt 并将批处理文件编写为:

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

can use full path if file is at different location.如果文件在不同的位置,可以使用完整路径。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM