0

我正在使用以下命令将联系人集合的字段 f1 和 f2 导出到 contacts.csv

mongoexport --db users --collection contacts --csv  --out /opt/backups/contacts.csv --fields f1,f2

它工作正常,数据导出到 csv。

问题仅在于 f2 字段的记录导出。

f2 字段存储在 db 中,逗号分隔值为 1,samuel,it。

我认为 mongo 正在导出到 csv ,考虑逗号作为分隔符。

所以, 1 , samuel 和它被导出到 csv 文件中的 3 个不同的单元格中,如下所示,

field1  field2
====   ====         ======     ==
1         1                 samuel    it

instead i want it as follows

field1  field2
====   ====        
1         1,samuel,it

顺便说一句,我目前正在使用 mongo 1.6.5

4

1 回答 1

0

MongoDB 1.6.5 于 2010 年 12 月发布,从那时起发生了很多变化。如果不是 2.4,那么至少升级到 MongoDB 2.2 绝对值得。

如果无法完全升级 MongoDB,您可以尝试mongoexport从 MongoDB 2.4 对您当前的数据库运行。命令行工具通常应该向后兼容。

看起来mongoexportCSV 格式更符合 MongoDB 2.0 的发布和SERVER-1097 的更改(“mongoimport / export 应遵守 CSV 规范”),但肯定会有后续改进或修复。

我刚刚用 MongoDB 1.6.5 做了一个简单的测试,mongoexport --csv格式看起来还可以:

field1,field2
1,"1,samuel,it"

另一种可能性是问题在于您尝试用于导入 CSV 的应用程序/工具。对于“有效”的CSV 格式文件的外观,有几种不同的解释。每个人都同意 CSV 包含用逗号分隔的字段,但字段转义可能会有所不同。

于 2013-04-09T14:22:34.667 回答