nodeJS 怎么运行 mongoDB 的JS脚本
发布于 9 年前 作者 chris9311 7032 次浏览 最后一次编辑是 8 年前 来自 问答

怎么可以做到在nodeJS 的程序中运行 mongoDB的一些JS 脚本,或者说是运行一些mongo Shell 的东西,类似于设置一些定时任务什么的。谢谢大神指导

20 回复
var child_process = require('child_process');
var command = 'mongo --eval "JSON.stringify(db.serverStatus())"';
child_process.exec(command, function (err, stdout, stderr) {
    console.log(stdout);
});

我怎么看不明白

@pfcoder 你好,如果我要直接运行‘show dbs’这样的命令,前提是先运行‘mongo’命令要怎么写?

@1340641314 其实就是想不用driver直接运行mongodb命令差不多

@chris9311 mongo --eval 'db.adminCommand("listDatabases")'

@pfcoder 没看懂啥意思,eval看懂了

@1340641314 相当于nodejs程序中执行外部shell脚本,起一个独立进程执行

@pfcoder 原来如此,学习到了

@pfcoder 只能用eval吗?我想先把mongo先运行再执行其他可以吗?

或者用下mongodb这个包呢~我项目中基本都是用这个操作mongo的

@chris9311 不明白为什么一定要先运行mongo, 运行mongo是进入交互式mongo shell,这个在程序中有什么用呢?

@wangnan0610 mongodb这个模块有运行js文件的api 吗?

@pfcoder 因为我会有用户的验证,要每次都把-u -p 加上去。。

@chris9311 还是看你想执行什么样的JS任务,如果能利用driver完成就没必要非得通过mongo shell了

如果不是直接调用脚本的话,就用 mongo 相关的 driver 吧

@pfcoder 明白了,谢谢。

@chris9311 问题解决了吗?想跟你请教下呢

@zhuqiao 并没有,我在看driver有没有这方面的api

回到顶部