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

MongoDBでコレクションを作成する

    MongoDBでデータベースを作成する場合、データベースは基本的に、1つ以上のコレクションを追加できる空のコンテナーです。

    コレクションは、リレーショナルデータベースのテーブルに似ています。

    リレーショナルデータベースでは、 CREATE TABLEを使用できます データベースに必要な各テーブルを作成します。

    ただし、MongoDBはリレーショナルデータベースではなく、データをドキュメントとして保存します。各ドキュメントはコレクションに保存されます。

    この記事では、MongoDBでコレクションを作成する方法を説明します。

    2つのオプション

    MongoDBでコレクションを作成するには、次の2つのオプションがあります。

    • 暗黙的
    • 明示的

    それぞれの例を次に示します。

    コレクションの作成–暗黙的に

    存在しないコレクションにドキュメントを追加するだけで、暗黙的にコレクションを作成できます。これを行うと、コレクションがまだ存在しない場合は作成されます。

    コレクションを暗黙的に作成する例を次に示します。

    db.pets.insert({ name: "Fetch" })

    これにより、 petsというコレクションが作成されます 、ドキュメントを挿入します。

    実際には、コレクションがまだ存在しない場合にのみコレクションを作成します。すでに存在する場合は、その名前の既存のコレクションにドキュメントを挿入するだけです。

    基本的に、構文は次のようになります。

    db.<collection>.insert()

    の場所 コレクションの名前です。

    コレクションの作成–明示的に

    db.createCollection()を使用してコレクションを明示的に作成することもできます 方法。この方法では、最大サイズの設定やドキュメントの検証ルールなど、さまざまなオプションを指定できます。

    これは、 CREATE TABLEに似ています。 SQLのステートメント。そうは言っても、MongoDBでは、 CREATE TABLEで指定する必要があるような列やデータ型などを指定する必要はありません。 リレーショナルデータベースを使用する場合のステートメント。

    db.createCollection()の使用例を次に示します。 コレクションを作成する方法:

    db.createCollection("employees")

    結果:

    { "ok" : 1 } 

    この例では、オプションを指定していません。したがって、このように作成することと、暗黙的に作成することの実際の利点はありませんでした(前の例のように)。

    ただし、コレクションのオプションを指定する場合は、コレクションを明示的に作成するのが方法です。

    コレクションを作成するときにいくつかのオプションを指定する例を次に示します。

    db.createCollection(
        "products", 
        { 
            capped : true, 
            size : 7500500, 
            max : 7000 
        } 
    )

    結果:

    { "ok" : 1 } 

    この例で提供したオプションの説明は次のとおりです。

    • 上限 引数を使用すると、コレクションのサイズに上限を設定するかどうかを指定できます(つまり、特定のサイズを超えて拡大することはできません)。 trueを指定した場合 、 sizeにも最大サイズを設定する必要があります フィールド。
    • サイズ 引数は、上限付きコレクションの最大サイズをバイト単位で設定します。上限のあるコレクションが最大サイズに達すると、MongoDBは古いドキュメントを削除して、新しいドキュメント用のスペースを作ります。 サイズ フィールドは、上限のあるコレクションには必須であり、他のコレクションには無視されます。
    • max 引数を使用すると、上限付きコレクションで許可されるドキュメントの最大数を指定できます。上限のあるコレクションがsizeに達した場合 ドキュメントの最大数に達する前に制限すると、MongoDBは古いドキュメントを削除します。したがって、 size max で指定されたドキュメントの数を含めるには、引数で十分です。 議論。

    これらは、 db.createCollection()で指定できるさまざまなオプションの3つです。 メソッド。

    構文と詳細

    完全な構文(この記事の執筆時点)は次のようになります:

    db.createCollection( <name>,
       {
         capped: <boolean>,
         autoIndexId: <boolean>,
         size: <number>,
         max: <number>,
         storageEngine: <document>,
         validator: <document>,
         validationLevel: <string>,
         validationAction: <string>,
         indexOptionDefaults: <document>,
         viewOn: <string>,
         pipeline: <pipeline>,
         collation: <document>,
         writeConcern: <document>
       }
    )

    db.createCollection()を参照してください 各オプションの詳細な説明については、MongoDBの公式ドキュメントから。


    1. Express Node.JS-Redisコールバックを受信し、promiseを実行します

    2. Railsアプリケーション用にAmazonOpsWorksでRedisを実行するにはどうすればよいですか?

    3. マングースのパスワードハッシュ

    4. StackExchange.Redisのキーパターンで値を取得します