试图在 mongodb 中获取一些数据(~500Mb)的 CSV 转储。思想流将是要走的路,以避免在内存中构建一个数组,然后立即构建 csv。
但是,mongoose 创建的流和 csv 期望的流似乎不是一回事。
var stream = Subscriber.find().stream()
stream.setEncoding = function() { }
csv().from.stream(stream).on('record', function(record, index) {
console.log(record)
console.log(index)
})
如果没有setEncoding()
上面的存根,当 csv 在流上调用 setEncoding 时,我会收到一个错误。有了它,结果
TypeError: Object #<Object> has no method 'indexOf'
at [object Object].stringify (/home/project/node_modules/csv/lib/stringifier.js:98:35)
那么,这甚至是正确的方法吗?如果是这样,流有什么问题?