Node exec退出到mongo

时间:2014-03-29 15:30:15

标签: node.js mongodb shell exec

尝试在节点中创建一个简单的实用程序脚本来启动远程mongo shell。有没有办法在节点中运行它并退出到生成的shell?下面的脚本启动mongo shell一秒钟,然后退出并挂起。

var exec = require('child_process').exec;
var env_vars = require('./env_vars')('dev');
if(env_vars){
    for (var key in env_vars){
        process.env[key] = env_vars[key];
    }
}

var mongo_url = process.env.MONGO_URL.replace('mongodb://', '');
var parse_url = mongo_url.split('@');
var parse_un_ps = parse_url[0].split(':');

var shell_login =
    'mongo ' +
    parse_url[1] +
    ' -u ' +
    parse_un_ps[0] +
    ' -p ' +
    parse_un_ps[1];

//console.log(shell_login);
exec(shell_login);

1 个答案:

答案 0 :(得分:-1)

我认为使用带有stdio继承的child_process.spawn会导致你正在寻找的行为。

var spawn = require('child_process').spawn;

var node = spawn('mongo', [], { stdio: 'inherit' });

传入一个参数数组作为spawn()的第二个参数。

http://nodejs.org/api/child_process.html#child_process_child_process_fork_modulepath_args_options