mongodb でいくつかのデータ (~500Mb) の CSV ダンプを取得しようとしています。メモリ内に配列を構築してから csv を一度に構築することを避けるために、ストリームを使用するのがよいでしょう。
しかし、マングースが作成するストリームと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)
それで、これは正しいアプローチですか?もしそうなら、ストリームの問題は何ですか?