使用自帶的mongoimport.exe導入test.csv檔(測試內容如下):
name,pass
test1,ztj"ile0
test2,"audreyhepburn"
test3,Xiaoya”””oge521
test4,""520xiangbin
問題:
導入後使用find({name:/^test/})
查詢,發現pass欄位全部顯示錯誤(和csv中原值完全不同,顯示為空值或只有一半文字等)-請問MongoDB如何正確插入帶雙引號的文字記錄? ?
無論是逐條insert或批量import都無法插入雙引號的記錄,即使使用「」轉義也不行,求大神!
根據 CSV 的標準:
你舉的例子中,
test1
和test4
都是不合法的,雖然我沒有確認 MongoDB 是嚴格按照 RFC 4180 的標準來解析 CSV 的,但你的文件格式肯定是有很大問題。因此還是建議先用工具把你的 CSV 檔案標準化之後再導入資料庫,不知道你的資料量有多大,但這只是簡單的文字處理,耗時應該是可以接受的。
下面是一個方案,雖然不完美,但應該適用大多情況:
https://tools.ietf.org/html/rfc4180