Несколько предложенных ответов на этот вопрос вообще упустили пункт о потоках.
Этот модуль может помочь https://www.npmjs.org/package/JSONStream
Однако, давайте предположим ситуацию, как описано, и напишем код сами.Вы читаете из MongoDB как поток, с ObjectMode = true по умолчанию.
Это приведет к проблемам, если вы попытаетесь выполнить прямой поток в файл - что-то вроде ошибки «Invalid non-string / buffer chunk».
Решение этого типа проблемы очень простое.
Просто поместите еще одно преобразование между читаемым и записываемым, чтобы адаптировать объект, читаемый, в строку, подходящую для записи.
Пример решения кода:
var fs = require('fs'),
writeStream = fs.createWriteStream('./out' + process.pid, {flags: 'w', encoding: 'utf-8' }),
stream = require('stream'),
stringifier = new stream.Transform();
stringifier._writableState.objectMode = true;
stringifier._transform = function (data, encoding, done) {
this.push(JSON.stringify(data));
this.push('\n');
done();
}
rowFeedDao.getRowFeedsStream(merchantId, jobId)
.pipe(stringifier)
.pipe(writeStream).on('error', function (err) {
// handle error condition
}