我需要更好地控制数据如何输出到csv,所以我不能使用mongoexport。我想一次读一个mongodb文档并在文件中写入csv格式化的行。如果有人能指出我正确的方向,那将会很有帮助。如果我在编写csv值时需要考虑的是转义双引号,我可能只需要写出该行而不需要csv模块。主要关注csv创建部分。
答案 0 :(得分:3)
你可以使用一些javascript(加载或不加载任何外部JavaScript库)。
例如。 myCsvWriter.js
db.myCollectionName.find(SOME_CONDITIONS).forEach(
function(doc)
{
docId = doc._id;
docName = doc.name;
print('"" + docId + '","' + docName + '"');
}
);
要运行的命令:
mongo --quiet myDatabaseName myCsvWriter.js > /tmp/myOutput.csv
您必须编写自定义Javascript以通过转义分隔符并引用值来正确创建CSV字符串,或者您还可以在mongo shell中加载一些javascript csv库并使用它。