That’s how I finally did it. The idea behind is to create readable stream implementing ReadStream interface and then use pipe()
method to pipe data to writable stream.
var fs = require('fs');
var writeStream = fs.createWriteStream('someFile.txt', { flags : 'w' });
var readStream = new MyReadStream();
readStream.pipe(writeStream);
writeStream.on('close', function () {
console.log('All done!');
});
The example of MyReadStream
class can be taken from mongoose QueryStream.