mongoimport:追加源字段

时间:2013-02-05 07:56:49

标签: mongodb import

使用mongoimport我导入几个外部实例的数据。

mongoimport是否允许我添加一个像source这样的字段:“where-the-data-come-from”到每个导入的文件?

即。如果我导入服务器A和B的数据,我想存储源:“A”或源:“B”到每个文档。

1 个答案:

答案 0 :(得分:4)

没有。但是,您可以从命令行执行此操作。创建一个文件'header.txt',其中包含,例如(您可以通过运行

从现有的csv创建此文件)

cat <(head -1 test.csv | tr "," "\n") <(echo source-a) > header.txt

header.txt应如下所示:
field_a
field_b
.......
source

*注意我已在此文档中附加了“来源”字段。 现在您可以运行该命令(假设已安装了sed)

sed 's/$/,source-a/' test.csv | mongoimport -d test-db -c test-cl --type csv --fieldFile header.txt

如果您的文档中已有标题行,请运行

sed '1d' test.csv | sed 's/$/,source-a/' | mongoimport -d test -c test --type csv --fieldFile header.txt代替 - 其中'source-a'是您希望使用此文档的标签。 您可以在bash中轻松编写脚本,以便只为每个导入作业提供源和csv。