2013-08-21 3 views
0

node.js와 streams 전체 mongoDB 컬렉션을 파일로 덤프하려고 시도했지만 작동하지 않습니다. 나는 그것이 오래된 스타일의 스트림과 0.10 스트림과 관련이 있다고 생각하지만 잘못 될 수 있습니다.node.js Streams를 사용하여 mongoDB 컬렉션을 파일에 기록 하시겠습니까?

아래의 코드는 여기에서 찾을 수 있습니다 : github.com

mongodb-collection-dump뿐만 아니라 그 REPO입니다.

var fs = require('fs'); 
var dump = require('mongodb-collection-dump'); 

var collectionDumpFile = '/tmp/collection-dump.json'; 

var f = fs.createWriteStream(collectionDumpFile); 

f.on('open', function() { 
    var d = dump('mongodb://127.0.0.1/test_db', 'testcollection', f); 
}); 
d.on('end', function(){ 
    console.log("done in write"); 
}); 

d.on('error', function(err){ 
    console.log("there was an error"); 
    console.log(err); 
}); 
+0

오류가 있습니까? –

+0

json 매개 변수가있는 http://docs.mongodb.org/manual/reference/program/mongoexport/ ...? – WiredPrairie

+0

오류가 없으며 아무것도 수행하지 않습니다. mongoexport를 사용할 수는 있지만 mongo 스트림을 fs 스트림으로 파이프 할 수없는 이유를 이해하고 싶습니다. – poorman

답변

0

당신은 MongoDB에의 덤프를 생성하기 위해 mongodump 또는 mongoexport를 사용할 수 있습니다.

mongodump은 데이터뿐만 아니라 인덱스와 같은 컬렉션에 대한 많은 메타 데이터를 백업하고 저장하기에 더 좋습니다. 컬렉션 (-c)뿐만 아니라 특정 데이터베이스 (-d)로 호출 할 수도 있습니다.

node.js에서 수행하려면 child_process을 사용하십시오.

관련 문제