sql >> データベース >  >> NoSQL >> MongoDB

JSONドキュメントの配列からMongoDBにドキュメントをインポートする

    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から実行しないでください シェル。


    1. MongoDBを使用した単純なタグ付けの実装

    2. StackExchangeRedisChannelPrefixがキーをスコープしない

    3. .rdbファイルがありますが、Redisは起動後に空になります

    4. データサイエンス分野におけるMongoDBの重要性の高まり