mongoimport
を使用する場合 、--jsonArray
を使用できます JSONドキュメントの配列をインポートするためのパラメーター。
例
pets_array.json
というJSONドキュメントがあるとします。 :
[
{"_id":1.0,"name":"Wag","type":"Dog"},
{"_id":2.0,"name":"Bark","type":"Dog"},
{"_id":3.0,"name":"Meow","type":"Cat"}
]
それをMongoDBになしでインポートしようとすると --jsonArray
を使用する パラメータを指定すると、次のエラーが発生します:
2021-01-03T13:52:58.360+1000 no collection specified 2021-01-03T13:52:58.360+1000 using filename 'pets_array' as collection 2021-01-03T13:52:58.366+1000 connected to: mongodb://localhost/ 2021-01-03T13:52:58.371+1000 Failed: cannot decode array into a D 2021-01-03T13:52:58.371+1000 0 document(s) imported successfully. 0 document(s) failed to import.
基本的に、アレイをドキュメントにデコードすることはできません。
これを修正するには、--jsonArray
を追加するだけです。 パラメータ:
mongoimport --db=PetHotel --jsonArray --file=pets_array.json
出力:
2021-01-03T13:58:13.407+1000 no collection specified 2021-01-03T13:58:13.408+1000 using filename 'pets_array' as collection 2021-01-03T13:58:13.421+1000 connected to: mongodb://localhost/ 2021-01-03T13:58:13.450+1000 3 document(s) imported successfully. 0 document(s) failed to import.
これは、3つのドキュメントすべてが正常にインポートされたことを示しています。
これで、コレクションを確認して確認できます:
db.pets_array.find()
結果:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" } { "_id" : 2, "name" : "Bark", "type" : "Dog" }
予想どおり、3つのドキュメントはすべて新しく作成されたコレクションに含まれています。
ドキュメントをインポートするコレクションを指定しなかったため、コレクションは新しく作成されました。もしそうなら、それらは指定されたコレクションにインポートされたでしょう。
mongoimport
を持っていない ?
mongoimport
MongoDBデータベースツールパッケージの一部です。 MongoDBデータベースツールは、MongoDBを操作するためのコマンドラインユーティリティのスイートです。
MongoDBデータベースツール/mongoimport
を使用しているかどうかわからない場合 インストールされている場合は、ターミナルまたはコマンドプロンプトで次のコマンドを実行して確認してください。
mongoimport --version
持っている場合は、バージョン情報などが表示されます。持っていない場合は、MongoDB Webサイトにあるインストール手順を使用して、システムにインストールできます。
mongoimport
を実行する場所 コマンド?
mongoimport
を実行する必要があります システムのコマンドラインからのコマンド(新しいターミナルやコマンドプロンプトウィンドウなど)。
mongo
から実行しないでください シェル。