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

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

    createCollection()を使用してコレクションを作成できます メソッド、またはドキュメントを挿入するときにその場で。

    コレクションは、関連ドキュメントのコンテナのようなものです。これらは通常、同様のトピックのドキュメントをグループ化するために使用されます。たとえば、 users などのコレクション名を使用できます。 、 pageviews 投稿コメント 、など。

    データベースを作成したときに、 Artists というコレクションを作成しました。 。このコレクションには、アーティストの名前、リリースしたアルバムなど、アーティストの詳細が記載されたドキュメントが含まれます。

    コレクションを作成する2つの方法

    コレクションを作成する2つの方法は次のとおりです。

    • ドキュメントを挿入するときに、その場でコレクションを作成できます( insert()を使用) 方法。
    • createCollection()を使用して、コレクションを明示的に作成することもできます メソッド。

    オンザフライ

    insert()を使用する場合 ドキュメントを挿入する方法では、ドキュメントが挿入されるコレクションを指定します。コレクションがまだ存在しない場合は、作成されます。

    これは、以前に Artistsを作成したときに使用した方法です。 ドキュメント挿入中のコレクション。

    使用したコードは次のとおりです。

    db.artists.insert({ artistname: "The Tea Party" })

    この場合、 Artists コレクションは以前は存在しなかったため、私たちのために作成されました。

    createCollection()の使用 方法

    createCollection()を使用してコレクションを作成することもできます 方法。これにより、ドキュメントを挿入せずにコレクションを作成できます。

    createCollection()の使用例を次に示します。 方法:

    db.createCollection("producers")

    オプション付き

    db.createCollection(name、options)を使用して、コレクションのオプションを指定することもできます。 構文。

    次に例を示します:

    db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )

    MongoDBバージョン3.2の時点で使用可能なフィールドは次のとおりです。

    フィールド タイプ 説明
    上限付き ブール値 trueに設定されている場合 、上限付きコレクションを作成します。上限付きコレクションは、最大サイズに達すると最も古いエントリを自動的に上書きする固定サイズのコレクションです。 trueを指定した場合 、 sizeにも最大サイズを設定する必要があります フィールド。
    autoIndexId ブール値 falseを指定します _idでのインデックスの自動作成を無効にします 分野。 MongoDBバージョン3.2以降、このフィールドは非推奨になり、バージョン3.4で削除されます。
    サイズ 番号 上限付きコレクションの最大サイズ(バイト単位)。上限付きコレクションでのみ使用されます(他のコレクションでは無視されます)。
    max 番号 上限付きコレクションで許可されるドキュメントの最大数。 sizeに注意してください フィールドはmaxよりも優先されます 分野。ドキュメントの制限に達する前にコレクションがサイズの制限に達した場合、MongoDBはとにかくドキュメントを削除します。
    usePowerOf2Sizes ブール値 MMAPv1ストレージエンジンでのみ使用できます。このフィールドはバージョン3.0以降廃止されました。
    noPadding ブール値 MMAPv1ストレージエンジンでのみ使用できます。コレクションの2つのサイズの割り当ての能力を無効にします。デフォルトはfalse
    storageEngine ドキュメント WiredTigerストレージエンジンでのみ使用できます。コレクションを作成するときに、コレクションごとにストレージエンジンを構成できるようにします。構文は次のとおりです。{}
    バリデーター ドキュメント コレクションの検証ルールまたは式を指定できます。検証は、データを挿入および更新するときにのみ適用されることに注意してください。したがって、データベースにすでに存在するデータは検証されません(更新されるまで)。
    validationLevel 文字列 更新中に既存のドキュメントに検証ルールをどの程度厳密に適用するかを指定できます。可能な値:
    off 挿入または更新の検証は行われません。
    strict 検証は挿入と更新に対して行われます。これがデフォルト値です。
    中程度 検証ルールは既存の有効にのみ適用されます ドキュメント、ただし既存の無効 ドキュメント。
    validationAction 文字列 無効なドキュメントが挿入されたときにエラーが発生するか、警告のみが発生するかを指定します。エラーが発生した場合でも、無効なドキュメントが挿入されますが、警告が表示されます。
    error 無効なドキュメントが書き込まれているときにエラーが発生し、操作が失敗することを指定します。
    警告 無効なドキュメントを引き続き書き込むことができ、警告がログに記録されることを指定します。
    indexOptionDefaults ドキュメント コレクションを作成するときに、インデックスのデフォルト構成を指定できます。 storageEngineを受け入れます 次の構文のドキュメント:{}

    1. SpringDataMongoDBとJava8LocalDate MappingException

    2. Golangmgoを使用したMongoDBAtlasへの接続:レプリカセットに到達可能なサーバーが永続的ではありません

    3. LaravelをAWSのRedisクラスターで動作させる方法

    4. mongodbアグリゲーションのサブストリングと一致