【问题标题】:Node exec exit to mongo节点执行退出到 mongo
【发布时间】:2014-03-29 15:30:14
【问题描述】:

尝试在 node 中创建一个简单的实用程序脚本来启动远程 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);

【问题讨论】:

    标签: node.js mongodb shell exec


    【解决方案1】:

    我认为将 child_process.spawn 与 stdio 继承一起使用会导致您正在寻找的行为。

    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

    【讨论】:

    • 请提供一个完整的例子来满足 op 的要求。您的代码省略了 op 在其 shell_login 变量中的身份验证参数
    猜你喜欢
    • 1970-01-01
    • 2017-01-29
    • 2023-02-07
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 2018-02-28
    • 1970-01-01
    相关资源
    最近更新 更多