0

With mongoimport I import the data of several external instances.

Does mongoimport allow me to add a field like source:"where-the-data-comes-from" to each document which is imported?

I.e. if i import the data of server A and B, I would like to store source:"A" or source:"B" to each document.

4

1 回答 1

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。

于 2013-03-12T21:29:10.317 回答