MongoDBを使用する場合は、mongoimport
を使用できます。 ドキュメントをコレクションにインポートします。 mongoimport
拡張JSON、CSV、またはTSVファイルからコンテンツをインポートするコマンドラインユーティリティです。インポートファイルはmongoexport
によって作成された可能性があります またはその他のエクスポートユーティリティ。
この記事では、JSONファイルをMongoDBにインポートする例を紹介します。
例
pets.json
という名前の次のJSONファイルがあるとします。 :
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 2, "name" : "Bark", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" }
次のコマンドは、JSONファイルをMongoDBにインポートします。
mongoimport --db=PetHotel --file=pets.json
この場合、インポートするコレクションを指定しなかったため、ファイルと同じ名前(pets
)のコレクションが作成されました。 。
結果を確認する
コレクションを見てみましょう。
db.pets.find()
結果:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 2, "name" : "Bark", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" }
ドキュメントが期待どおりにインポートされたことがわかります。
コレクション名を指定してください
--collection
を使用できます (または-c
)ファイルをインポートするコレクションを指定するパラメーター。
--collection
の使用例を次に示します。 同じファイルを別のコレクションにインポートするためのパラメーター:
mongoimport --db=PetHotel --collection=pets2 --file=pets.json
コレクションがまだ存在しない場合は、作成されます。すでに存在する場合、インポートの結果は使用しているモードによって異なります(これについては以下で詳しく説明します)。
インポートする前にコレクションを削除する
--drop
を使用できます 作成/インポートしようとしているコレクションと同じ名前の既存のコレクションを削除するパラメータ。
pets2.json
という2番目のファイルがあるとします。 、次のドキュメントを使用:
{ "_id" : 4, "name" : "Bubbles" } { "_id" : 5, "name" : "Hop", "type": "Kangaroo" }
そのドキュメントをpets
にインポートするとどうなりますか --drop
を使用したコレクション オプション:
mongoimport --db=PetHotel --collection=pets --drop --file=pets2.json
出力:
2021-01-03T15:42:25.626+1000 connected to: mongodb://localhost/ 2021-01-03T15:42:25.640+1000 dropping: PetHotel.pets 2021-01-03T15:42:25.734+1000 2 document(s) imported successfully. 0 document(s) failed to import.
このメッセージは、コレクションが削除され、1つのドキュメントがインポートされたことを示しています。
コレクションを見てみましょう:
db.pets.find()
結果:
{ "_id" : 5, "name" : "Hop", "type" : "Kangaroo" } { "_id" : 4, "name" : "Bubbles" }
予想どおり、コレクションには2つの新しいドキュメントしかありません。
インポートモード
mongoimport
で使用できるさまざまなインポートモードがあります 。これらのモードは、インポートしようとしているコレクションに一致するドキュメントがすでに存在する場合に何が起こるかを決定します。
モードは次のとおりです。
モード | 説明 |
---|---|
insert | これはデフォルトのモードです。このモードでは、インポートファイルからドキュメントが挿入されます。一致するドキュメントがコレクションにすでに存在する場合、エラーが発生します。一致するドキュメントとは、同じ一意のID(一致する_id など)を持つドキュメントです。 フィールド)インポートファイルのドキュメントとして。 |
upsert | データベース内の既存のドキュメントを、インポートファイルの一致するドキュメントに置き換えます。他のすべてのドキュメントが挿入されます。 |
merge | インポートファイル内のドキュメントと一致する既存のドキュメントを新しいドキュメントとマージします。他のすべてのドキュメントが挿入されます。 |
delete | インポートファイル内のドキュメントと一致するデータベース内の既存のドキュメントを削除します。一致しないドキュメントは効果がありません。 |
mongoimport
のインポートモードを参照してください 各モードの例については。
mongoimport
を確認します
mongoimport
MongoDBデータベースツールパッケージの一部です。 MongoDBデータベースツールは、MongoDBを操作するためのコマンドラインユーティリティのスイートです。
MongoDBデータベースツール/mongoimport
を使用しているかどうかわからない場合 インストールされている場合は、ターミナルまたはコマンドプロンプトで次のコマンドを実行して確認してください。
mongoimport --version
持っている場合は、バージョン情報などが表示されます。持っていない場合は、MongoDB Webサイトにあるインストール手順を使用して、システムにインストールできます。
コマンドを実行する場所
mongoimport
を実行する必要があることを忘れないでください システムのコマンドラインからのコマンド(新しいターミナルやコマンドプロンプトウィンドウなど)。
mongo
から実行しないでください シェル。