将记录导出到csv文件时,是否可以将分隔符从逗号更改为#。
在下面的例子中
mongoexport -d mydb -c coll --csv --fields "ProductId,ModerationStatus,Rating,TotalCommentCount" --out results.csv
答案 0 :(得分:4)
目前,mongoexport没有此功能。
但是,您可以开发一个简单的JavaScript来执行此操作。因此,您可以控制csv和字段数据类型的格式。
<强> export.js 强>
conn = new Mongo();
db = conn.getDB("myDB");
var cur = db.myCollection.find();
var obj;
while(cur.hasNext()){
obj = cur.next();
print("\""+obj._id+"\";\""+obj.field_1+"\";\""+obj.field_2+"\"");
}
从您的操作系统shell调用此脚本:
mongo export.js&gt; file_name.csv 强>
答案 1 :(得分:0)
不是一个非常干净的解决方案,但您可以构建自己的 mongoexport 版本,并在代码“逗号”语句中添加
https://github.com/mongodb/mongo-tools/blob/master/mongoexport/csv.go
https://golang.org/pkg/encoding/csv/#Writer
// WriteHeader writes a comma-delimited list of fields as the output header row.
func (csvExporter *CSVExportOutput) WriteHeader() error {
if !csvExporter.NoHeaderLine {
//here the trick
csvExporter.csvWriter.Comma = '|'
//
csvExporter.csvWriter.Write(csvExporter.Fields)
return csvExporter.csvWriter.Error()
}
return nil
}