我的收藏集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列,基本上是编写我自己的导出实用程序助手。
答案 0 :(得分:0)
sed版本(在这种情况下我的偏好):
Mongo ... | sed '1 s/$/, D/;1! s/$/, "Success"/'
awk版本:
Mongo ... | awk '{$0 = $0 ", " (NR > 1 ? "Success" : "D")} 7'
不知道mongodb功能,但最好的是直接查询包含此固定值作为"额外"请求的字段