0

mongoimport を使用して、いくつかの外部インスタンスのデータをインポートします。

mongoimport では、インポートされる各ドキュメントに source:"where-the-data-comes-from" のようなフィールドを追加できますか?

つまり、サーバー A と B のデータをインポートする場合、各ドキュメントに source:"A" または source:"B" を保存したいと思います。

4

1 に答える 1

4

いいえ。ただし、これはコマンド ラインから実行できます。以下を実行して、たとえば (既存の csv から作成できます) を含む「header.txt」ファイルを作成します。

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 に答える