首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过mongoDB执行Node.js shell脚本?

如何通过mongoDB执行Node.js shell脚本?
EN

Stack Overflow用户
提问于 2020-03-30 18:56:44
回答 2查看 939关注 0票数 1

我正在进行我的课堂项目,在这个项目中,我想演示mongoDB切分的用法。我正在使用mongoDB node.js本机驱动程序。我知道在这个驱动程序中没有切分功能。所以,我必须编写shell脚本来进行切分。所以,是否有可能这样做:

节点myfile.js (执行shell脚本并运行代码)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-30 19:42:20

既然您已经有了一个shell脚本,为什么不通过子过程模块来执行它呢?只需使用下面的函数来运行您拥有的脚本。

Process.execFileSync(文件[,args][,选项])

注意,脚本应该具有运行权限(否则使用chmod a+x script )

票数 0
EN

Stack Overflow用户

发布于 2020-03-30 21:53:54

为什么不考虑使用npm运行脚本呢?如果希望脚本独立运行,请将带有test/start或两者兼有的脚本添加到包json中,

代码语言:javascript
复制
"scripts": {
    "test": "node mytestfile.js",
    "start": "node ./myfile --param1 --param2"
  },

以及可以执行脚本文件的run npm run testnpm run start。这样,您甚至可以将参数传递给脚本。

或者优雅的child_process方式,

代码语言:javascript
复制
const { exec } = require("child_process");
exec("node myfile.js", (error, stdout, stderr) => {
    if (error) {
        console.log(`error: ${error.message}`);
        return;
    }
    if (stderr) {
        console.log(`stderr: ${stderr}`);
        return;
    }
    console.log(`stdout: ${stdout}`);
});

当您进一步构建时,stderr和stdout将显示脚本的进度。希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60937582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档