29

mongoexport を使用して一部のデータを .json 形式のファイルにエクスポートしていますが、ドキュメントには _id:IDVALUE タプルによって大きなサイズのオーバーヘッドが発生します。

同様の投稿を見つけました_id フィールドなしで MongoDB からデータを取得する方法はありますか? mongo からデータを取得するときに _id フィールドを省略し、エクスポートしない方法について。使用することをお勧めします: .Exclude("_id"). mongoexport の --query パラメータを何らかの形で含めるように reqrite しようとしました.Exclude("_id")が、これまでのところすべての試みが失敗しました。

これを行う適切な方法を教えてください。または、エクスポート後の手法を使用する必要がありますか?

ありがとう

4

12 に答える 12

18

_idmongoexport を使用してフィールド ( など) を除外する方法はないようです。

中程度のサイズのデータ​​ベースで私のために働いた代替手段は次のとおりです。

mongo myserver/mydb --quiet --eval "db.mycoll.find({}, {_id:0}).forEach(printjson);" > out.txt

大規模なデータベース (何百万ものレコード) では時間がかかる場合があり、これを実行すると、システムで実行しようとする他の操作に影響します。

于 2013-05-07T18:17:49.650 に答える
12

これは機能します:

mongoexport --db db_name --collection collection_name | sed '/"_id":/s/"_id":[^,]*,//' > file_name.json
于 2018-04-18T09:05:33.333 に答える
5

mongoexportそのようなオプションはないようです。

ramda -cliストリッピングを使用すると、次の_idようになります。

mongoexport --db mydb --collection mycoll -f name,age | ramda 'omit ["_id"]'
于 2015-06-01T17:53:49.077 に答える
0

「_id」などのサブドキュメント情報を除外する最も簡単な方法は、csv としてエクスポートし、ツールを使用して csv を json に変換することです。

于 2013-12-28T06:38:16.080 に答える
-7

--fieldsフラグを使用してフィールドを指定しようとしましたか? 言及されていないすべてのフィールドは、エクスポートから除外されます。

保守性のために、フィールドを別のファイルに書き込んで使用することもできます--fieldFile

于 2012-10-19T14:33:42.390 に答える