我使用以下命令将联系人集合的字段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
BTW我目前正在使用mongo 1.6.5
答案 0 :(得分:0)
MongoDB 1.6.5于2010年12月发布, lot 从那时起发生了变化。如果不是2.4,那么至少升级到MongoDB 2.2肯定是值得的。
如果无法完全升级MongoDB,您可以尝试从当前数据库运行MongoDB 2.4中的mongoexport
。命令行工具通常应向后兼容。
看起来mongoexport
CSV格式更符合MongoDB 2.0的发布和SERVER-1097的更改(“mongoimport / export应符合CSV规范”),但肯定会有后续改进或修复。
我刚尝试使用MongoDB 1.6.5进行简单测试,mongoexport --csv
格式似乎没问题:
field1,field2
1,"1,samuel,it"
另一种可能性是问题在于您尝试用于导入CSV的应用程序/工具。对于“有效”CSV formatted file应该是什么样的,有几种不同的解释。每个人都同意CSV包含以逗号分隔的字段,但字段转义可能会有所不同。