Is it possible to start MongoDB from within a Grunt task? Basically when I\'m running my development environment with grunt server
I want it to start up the Mo
You can use grunt-shell-spawn to do this. The previous answer recommends grunt-shell, which runs synchronously on the main process - blocking execution of other tasks.
shell: {
mongo: {
command: 'mongod',
options: {
async: true
}
}
}
You can use grunt-shell to run the command:
grunt.initConfig({
shell: {
mongo: {
command: 'mongod'
}
}
});
To add to JJJ's answer, using grunt-shell-spawn if you want to make sure each project has it's own mongodb instance with it's own data you would do this:
shell: {
mongodb: {
command: 'mongod --dbpath ./data/db',
options: {
async: true,
stdout: false,
stderr: true,
failOnError: true,
execOptions: {
cwd: '.'
}
}
}
},
The example also prints out only errors.
You would then just add shell:mongodb
to your grunt server
task list (preferably the first task), add data
to your .gitignore
(assuming you're using git) and you're good to go.