gpt4 book ai didi

node.js - 通过 mongoose 流导出到 node-csv

转载 作者:搜寻专家 更新时间:2023-11-01 00:02:59 26 4
gpt4 key购买 nike

尝试在 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() stub ,当 csv 在流上调用 setEncoding 时,我会得到一个错误。有了它,结果是

TypeError: Object #<Object> has no method 'indexOf'
at [object Object].stringify (/home/project/node_modules/csv/lib/stringifier.js:98:35)

那么,这是正确的方法吗?如果是这样,流的问题是什么?

最佳答案

正如 zeMirco 所说:要获取集合的 CSV 转储,我会使用 MongoDB 附带的 mongoexport 工具。下面是将数据库“mydatabase”中名为“users”的集合导出为 CSV 格式的示例:

$ mongoexport --csv --host localhost:27017 --db mydatabase --collection users --fields name,email,age -o output.csv

你会得到像这样的东西:

$ cat output.csv
name,email,age
renold,renold.ronaldson@gmail.com,21
jacob,xXxjacobxXx@hotmail.com,16

关于node.js - 通过 mongoose 流导出到 node-csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13671875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com