Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从node.js以编程方式执行mongodump命令?_Node.js_Mongodb - Fatal编程技术网

如何从node.js以编程方式执行mongodump命令?

如何从node.js以编程方式执行mongodump命令?,node.js,mongodb,Node.js,Mongodb,从node.js以编程方式执行mongodb管理/控制台命令的最佳方式是什么?具体来说,我希望在执行一系列插入之后使用mongodump导出mongodb集合。大概是这样的: // requires and initializing stuff left out for brevity db.open(function(err, db) { if(!err) { db.collection('test', function(err, collection) {

从node.js以编程方式执行mongodb管理/控制台命令的最佳方式是什么?具体来说,我希望在执行一系列插入之后使用mongodump导出mongodb集合。大概是这样的:

// requires and initializing stuff left out for brevity
db.open(function(err, db) {
    if(!err) {
        db.collection('test', function(err, collection) {
            var docs = [{'hello':'doc1'}, {'hello':'doc2'}, {'hello':'doc3'}];

            collection.insert(docs, {safe:true}, function(err, result) {

                // Execute mongodump in this callback???

            });
        });
    }
});
尝试使用:

var spawn=require('child_process')。spawn;
// ...
insert(docs,{safe:true},函数(err,result){
var args=['--db',mydb','--collection',test']
,mongodump=spawn('/usr/local/bin/mongodump',args);
mongodump.stdout.on('data',函数(data){
log('stdout:'+数据);
});
mongodump.stderr.on('data',函数(data){
log('stderr:'+数据);
});
mongodump.on('exit',函数(代码){
console.log('mongodump退出时带有代码'+代码);
});
});
// ...

不同的年份,不同的答案

你可以用像 到
exec
mongodump
或UNIX shell提供的任何其他命令