如何使用 mongoimport 将包含双引号的数据导入 mongodb?

How to import data containing double quotes into mongodb using mongoimport?

我正在使用 mongoimport 导入 csv 文件。 csv 文件包含在第 2 行带有嵌入双引号的文本。

"id","text"
"1","This is text"
"2","\"This is quoted text\""

这应该作为两行导入,第二行包括作为文本一部分的开始和结束引号。但是 mongoimport 响应:

c:\mongoimport -d testdb -c testtb --headerline --type csv --drop --file c:/temp1.csv
connected to: localhost
dropping: testdb.testtb
Failed: read error on entry #2: line 3, column 6: extraneous " in field
   imported 0 documents    error "read error: bare " in non-quoted field imported 0 documents.

如何导入在引号字段中包含双引号的 csv 数据?还有别的逃生方法吗?

我的环境是基于 Windows 的。

Mongoimport 文档中有对此的引用,此处 https://docs.mongodb.org/v3.0/reference/program/mongoimport/#cmdoption--type

The csv parser accepts that data that complies with RFC RFC 4180. As a result, backslashes are not a valid escape character. If you use double-quotes to enclose fields in the CSV data, you must escape internal double-quote marks by prepending another double-quote.

所以为了清楚起见:不是用反斜杠转义双引号,而是需要用另一个双引号转义双引号,即因此你需要两个双引号。