【问题标题】:How to call MongoDB commands using .bat file如何使用 .bat 文件调用 MongoDB 命令
【发布时间】:2016-12-30 08:07:45
【问题描述】:

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

为此我已经尝试过:

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

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

Side:我已经通过MongoDB SyntaxError: missing ; before statement @(shell)

【问题讨论】:

    标签: windows mongodb batch-file


    【解决方案1】:

    你可以试试:

    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
    

    希望对你有帮助

    【讨论】:

    • 它没有显示任何错误,但它没有创建数据库
    • 如果你想新建一个数据库,我想你必须在里面插入一个新文档
    • 你是说收藏?我试过添加 mongo.exe --eval "db.createCollection('testcollecation')" 但没有运气:(
    • 你可以试试这样的东西吗? mongo.exe --eval "db.yourCollection.insert({"key":"value"})"
    【解决方案2】:
    • 将此代码放入您的 bat 文件中。
    • 它将在 2 个不同的管理员特权 cmd 窗口中启动并激活 mongodb。
    • 请在调整之前检查路径以适应您的环境。

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

    超时/T 10 开始

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

    【讨论】:

      【解决方案3】:

      试试这个:

      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
      

      如果文件位于不同的位置,可以使用完整路径。

      【讨论】:

        猜你喜欢
        • 2018-11-28
        • 1970-01-01
        • 2019-01-20
        • 2017-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多