具有额外硬编码列的Mongoexport

时间:2017-03-23 05:50:19

标签: python mongodb csv awk mongoexport

我的收藏集A,B,C中有3个字段。我使用以下命令以csv格式导出它。

mongoexport --host %s -u%s -p%s --authenticationDatabase %s --db %s --collection %s --query \'%s' --type=csv --out %s --fields A,B,C

但业务要求是这样的,我需要我的CSV文件包含4个列,其中一个硬编码列D(作为管道的一部分,不完全在我的控制中),其中包含字符串"成功"写入。

我的csv需要看起来像:

A, B, C, D
x, y, z, "success"

目前在运行导出后,我使用 awk 将第四列附加到csv中,但我想知道这是否可以直接使用mongoexport。我想到的另一个选择是编写一个自定义脚本来向csv写3 + 1列,基本上是编写我自己的导出实用程序助手。

1 个答案:

答案 0 :(得分:0)

sed版本(在这种情况下我的偏好):

Mongo ... | sed '1 s/$/, D/;1! s/$/, "Success"/'

awk版本:

Mongo ... | awk '{$0 = $0 ", " (NR > 1 ? "Success" : "D")} 7' 

不知道mongodb功能,但最好的是直接查询包含此固定值作为"额外"请求的字段