2013-02-23 145 views
0

我正在使用csv类型进行mongoimport,但无法找到忽略注释行的选项。我的csv注释了以“#”标记的行作为起始字符。基本上,我通过node.js应用程序调用MongoDB。没办法忽略这些?有人可以建议是否有一个选项?mongoimport csv忽略注释行

+0

任何人都可以帮我在做mongoimport时忽略注释行吗? – user1549605 2013-02-24 21:40:38

回答

2

CSV (Comma Separated Values)格式故意很简单,不支持评论。在传递到mongoimport之前,您必须预先过滤您的注释行。

mongoimport旨在从命令行使用,但您已经提到您正在使用Node.js应用程序与MongoDB进行通信。我想推荐使用node.js csv module。然后,您可以轻松地对注释或其他格式偏差进行自己的基于行的过滤,并直接使用MongoDB driver进行插入。

+0

感谢您确认mongoimport-csv不支持注释代码过滤; 在node.js csv模块上,我最初尝试使用这个模块,但发现了严重的性能问题,因为我必须从csv导入约75000行;我用node-mongo-native加载;然后通过node.js切换到mongoimport; – user1549605 2013-03-01 15:42:31

+0

有几个不同的[node.js CSV模块](https://nodejsmodules.org/tags/csv)。一个快速搜索没有发现任何明显的基准/比较,但[Fast-csv](http://c2fo.github.com/fast-csv/)看起来很有趣..换掉了一些功能,如多行的行速度。 – Stennie 2013-03-01 20:48:05

+0

感谢Stennie,接下来我会试试Fast-csv。同时,我移动了我的nodejs代码库和mongodb服务器env(都在同一台服务器上);但是,结果并不如下。这是网络延迟无法解决的问题吗?配置:RAM-8GB; csvdata-75000 rows = 9.12MB; Server-Windows Server 2008; mongodb的连接接受的时间: - 浏览器客户端本地主机 - 75000行 - 瞬时 浏览器客户机的远程 - 15行 - 瞬时 浏览器客户机的远程 - 10000行 - 第6秒 浏览器客户机的远程 - 20000行 - 18秒 浏览器客户机的远程 - 75000行 - 75秒 – user1549605 2013-03-01 23:29:56