从Grunt任务中启动MongoDB

时间:2013-07-26 02:16:25

标签: mongodb shell automation gruntjs

是否可以在Grunt任务中启动MongoDB?基本上当我使用grunt server运行我的开发环境时,我希望它可以通过运行mongod来启动MongoDB服务器。

3 个答案:

答案 0 :(得分:40)

您可以使用grunt-shell-spawn执行此操作。前面的回答推荐了grunt-shell,它在主进程上同步运行 - 阻止执行其他任务。

shell: {
    mongo: {
        command: 'mongod',
        options: {
            async: true
        }
    }
}

答案 1 :(得分:23)

要添加到JJJ的答案,请使用grunt-shell-spawn如果您想确保每个项目都有自己的mongodb实例,那么您可以这样做:< / p>

shell: {
    mongodb: {
        command: 'mongod --dbpath ./data/db',
        options: {
            async: true,
            stdout: false,
            stderr: true,
            failOnError: true,
            execOptions: {
                cwd: '.'
            }
        }
    }
},

该示例还仅打印出错误。

然后,您只需将shell:mongodb添加到grunt server任务列表(最好是第一项任务),将data添加到.gitignore(假设您正在使用) git)你很高兴。

答案 2 :(得分:20)

您可以使用grunt-shell运行命令:

grunt.initConfig({
    shell: {
        mongo: {
            command: 'mongod'
        }
    }
});