Я в основном пытаюсь:
- Поток запросов к MongoDB с помощью mon goose
- Преобразовать результат потока с помощью fast-csv
- Ответ обратного потока
Как я могу сделать это правильно?
Вот мой код обработчика
async function handler(req, h) {
const fastCsv = require('fast-csv')
const Mongoose = require('mongoose')
const LOS = Mongoose.model('LoanOriginationSystem')
const stream = LOS.find({}).stream()
const transformer = (doc) => {
return {
'APPLICATION ID': doc._id,
'PHONE NUMBER': doc.phone_number,
'NAME': doc.name,
'TIME CREATED': doc.time_created,
'APPROVED CREDIT AMOUNT': doc.detail.approved_credit_limit,
'STATUS': doc.application_status,
'LAST UPDATE': doc.last_update_time
}
}
const csvStream = fastCsv.createWriteStream({ headers: true }).transform(transformer)
const readStream = stream.pipe(csvStream)
return h.response(readStream)
.header('Content-type', 'application/octet-stream')
.header('content-Disposition', 'attachment;filename="response-result.csv"')
}
Это ошибка возврата Cannot reply with stream in object mode