使用自带的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