如何从node.js以编程方式执行mongodump命令?
从node.js以编程方式执行mongodb管理/控制台命令的最佳方式是什么?具体来说,我希望在执行一系列插入之后使用mongodump导出mongodb集合。大概是这样的:如何从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) {
// 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提供的任何其他命令