नोड निष्पादन mongo - node.js, mongodb, खोल, exec करने के लिए बाहर निकलें

नोड में एक सरल उपयोगिता स्क्रिप्ट बनाने की कोशिश कर रहा हैरिमोट मोन्गो खोल शुरू करें। क्या इसे नोड में चलाने और परिणामी खोल से बाहर निकलने का कोई तरीका है? नीचे दी गई स्क्रिप्ट एक दूसरे के लिए मोंगो खोल शुरू करती है, फिर बाहर निकलती है और लटकती है।

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);

उत्तर:

जवाब के लिए 0 № 1

मुझे लगता है कि stdio विरासत के साथ child_process.spawn का उपयोग करने के परिणामस्वरूप आप जिस व्यवहार की तलाश कर रहे हैं उसका परिणाम होगा।

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

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

स्पॉन () के दूसरे तर्क के रूप में तर्कों की एक सरणी में पास करें।

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


संबंधित सवाल
सबसे लोकप्रिय