2016-07-14 6 views
0

mongodbを使用しており、dbのコレクションから特定の値を取得しようとしています。私はUNIXシェルからmongodbから特定のキーペアを生成

mongoexport --db database --collection name 

を使用して、完全なエクスポートを取得することができていますが、出力は大容量のファイルであり、私はそれにキー/ペアの特定のセットを取得しようとしています。

ex: "Name": "Value" 

複数の名前があり、コレクション内のすべての名前を印刷するだけで済みます。

UNIXシェルのコマンド構文について教えてください。

私はthisを見ましたが、それはmongoシェルでのものです。 MyDatabaseでコレクションyourCollectionからすべてのフィールドを要求するために

おかげ

答えて

1

mongo --quiet 127.0.0.1/MyDatabase --eval 'printjson(db.yourCollection.find().toArray());' 

MyDatabaseでコレクションyourCollectionからフィールドだけにnameフィールドを要求するために:

mongo --quiet 127.0.0.1/MyDatabase --eval 'printjson(db.yourCollection.find({},{"_id":0,"name":1}).toArray());' 
+0

ありがとうございます。私が必要としていたものです。ここから簡単にフォーマットすることができます。 – hypermails

0

あなたはまた、持っている可能性がありこれらのコマンドを手動で書き込む時間を実行して保存します。

mongo localhost:27017/test myfile.js 

のようなものを実行し、あなたの目標は、データベースから特定の条件に一致するドキュメントをエクスポートする場合にはjavascriptのファイル入力

db.name.findOne() 
db.name().find({},{"_id":0,"Name":1}).toArray()); 

にすることができます、https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/と[How to execute mongo commands through shell scripts?

0

を参照してください。 -qパラメータを使用してmongoexportにクエリを渡します。例:

mongoexport -d db -c coll -q '{"Name":"Value"}' 

これは、値「値」のフィールド「名前」を含むすべてのドキュメントをエクスポートします。

mongoexportに出力する場合は、エクスポートするドキュメントの数など有益な情報を出力しない方が良い場合は、--quietパラメータを渡すこともできます。

mongoexportツールの詳細については、https://docs.mongodb.com/manual/reference/program/mongoexport/を参照してください。

関連する問題