2013-02-23 149 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