Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

create

項目一覧

  • 定義
  • 互換性
  • 構文
  • 動作
  • アクセス制御
create

コレクションまたはビューを明示的に作成します。

注意

このコマンドによって作成されたビューは、マテリアライズド ビューを参照しません。 オンデマンドのマテリアライズドビューについて詳しくは、代わりに $mergeを参照してください。

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

注意

このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、 「サポートされていないコマンド」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

create コマンドの構文は次のとおりです。

注意

MongoDB 6.3 では、 bucketMaxSpanSecondsおよびbucketRoundingSecondsパラメーターが追加されました。6.3 より下にダウングレードするには、これらのパラメーターを持つすべてのコレクションを削除するか、可能な場合は対応する granularity を使用するようにコレクションを変更する必要があります。詳しくは、collModを参照してください。

db.runCommand(
{
create: <collection or view name>,
capped: <true|false>,
timeseries: {
timeField: <string>,
metaField: <string>,
granularity: <string>,
bucketMaxSpanSeconds: <timespan>, // Added in MongoDB 6.3
bucketRoundingSeconds: <timespan> // Added in MongoDB 6.3
},
expireAfterSeconds: <number>,
clusteredIndex: <document>, // Added in MongoDB 5.3
changeStreamPreAndPostImages: <document>, // Added in MongoDB 6.0
autoIndexId: <true|false>,
size: <max_size>,
max: <max_documents>,
storageEngine: <document>,
validator: <document>,
validationLevel: <string>,
validationAction: <string>,
indexOptionDefaults: <document>,
viewOn: <source>,
pipeline: <pipeline>,
collation: <document>,
writeConcern: <document>,
encryptedFields: <document>,
comment: <any>
}

create コマンドには次のフィールドがあります:

フィールド
タイプ
説明
create
string
新しいコレクションまたはビューの名前。「命名制限」を参照してください。既に存在するコレクションまたはビューを作成しようとし、その既存のコレクションまたはビューに対して同一のオプションを指定した場合、アクションは実行されず、成功が返されます。
capped
ブール値
任意。上限付きコレクションを作成するには、true と指定します。true と指定する場合、size フィールドに最大サイズを設定する必要もあります。
timeseries.timeField
string
必須(時系列コレクションの作成時)。各時系列ドキュメントの日付を含むフィールドの名前です。時系列コレクション内のドキュメントには、timeField の値として有効な BSON 日付が必要です。
timeseries.metaField
string

任意。各時系列ドキュメントのメタデータを含むフィールドの名前。指定されたフィールドのメタデータは、一意の時系列ドキュメントにラベルを付けるために使用されるデータでなければなりません。メタデータを変更する必要はめったにありません。指定されたフィールドの名前を _id または timeseries.timeField と同じ名前にはできません。フィールドは任意のデータ型に指定できます。

metaFieldフィールドは任意ですが、メタデータを使用するとクエリの最適化が向上します。 たとえば、MongoDB metaFieldtimeFieldは新しいコレクションの フィールドと フィールドに 複合インデックス を自動的に作成します 。このフィールドに値を指定しない場合、データは時間のみに基づいてバケット化されます。

timeseries.granularity
string

任意。bucketRoundingSecondsbucketMaxSpanSeconds を設定する場合は使用しないでください。指定できる値は、seconds(デフォルト)、minuteshours です。

granularity を、連続する受信タイムスタンプ間の時間に最も近い値に設定します。これにより、MongoDB がコレクションの内部にデータを保存する方法が最適化され、パフォーマンスが向上します。

粒度とバケット間隔の詳細については、「時系列データの粒度の設定」を参照してください。

timeseries.bucketMaxSpanSeconds
integer

任意。granularity の代わりに、bucketRoundingSeconds と併用します。同じバケット内のタイムスタンプ間の最大時間を設定します。1~31536000 の値を設定できます。bucketMaxSpanSeconds を設定する場合は、bucketRoundingSeconds を同じ値に設定する必要があります。

MongoDB 6.3 以前のバージョンにダウングレードするには、対応する granularity 値を使用するようにコレクションを変更するか、コレクションを削除する必要があります。 詳細については、「collMod」を参照してください。

timeseries.bucketRoundingSeconds
integer

granularity の代わりに bucketMaxSpanSeconds と一緒に使用されます(任意)。MongoDB が新しいバケットの最小タイムスタンプを設定するときに切り捨てる秒数を設定します。bucketMaxSpanSeconds と等しくなければなりません

たとえば、両方のパラメーターを 1800 に設定すると、新しいバケットは 30 分単位で切り捨てられます。2023-03-27T18:24:35Z という時間が設定されたドキュメントが既存バケットに収まらない場合、MongoDB は最小時間が 2023-03-27T18:00:00Z で、最大時間が 2023-03-27T18:30:00Z の新しいバケットを作成します。

expireAfterSeconds
integer
任意。時系列コレクションまたはクラスター化されたコレクションのドキュメントが期限切れになる秒数を指定します。MongoDB は期限切れのドキュメントを自動的に削除します。
clusteredIndex
ドキュメント

MongoDB 5.3 以降、クラスター インデックス 付きのコレクションを作成できます。クラスター インデックスは、コレクション同様、WiredTiger ファイルに保存されます。結果として得られるコレクションは、クラスター化されたコレクションと呼ばれます。

clusteredIndex フィールドの構文は次のとおりです。

clusteredIndex: {
key: <object>,
unique: <boolean>,
name: <string>
}
key
必須。クラスター化されたインデックス キー フィールド。{ _id: 1 } に設定する必要があります。_id フィールドのデフォルト値は自動生成されるユニークな ObjectId ですが、独自のクラスター化されたインデックス キー値を設定できます。
unique
必須。true に設定する必要があります。ユニークインデックスは、クラスターインデックスキーの値がインデックス内の既存の値と一致する挿入または更新されたドキュメントをコレクションが受け入れないことを示します。
name
任意。クラスター化されたインデックスを一意に識別する名前。

バージョン 5.3 で追加。

changeStreamPreAndPostImages
ドキュメント

任意。

MongoDB 6.0 以降では、変更ストリーム イベントを使用して、変更前と変更後のドキュメントのバージョン(変更前とイメージと変更後のイメージ)を出力できます。

  • 変更前のイメージとは、置換、更新、または削除される前のドキュメントです。挿入されたドキュメントには、変更前のイメージはありません。

  • 変更後のイメージとは、挿入、置換、または更新された後のドキュメントです。削除されたドキュメントには、変更後のイメージはありません。

  • db.createCollection()create、または collMod を使用し、コレクションに対して changeStreamPreAndPostImages を有効にします。

changeStreamPreAndPostImages の構文は次のとおりです。

changeStreamPreAndPostImages: {
enabled: <boolean>
}

コレクションの変更ストリームの事前イメージと事後イメージを有効にするには、enabledtrue に設定します。

変更ストリーム出力の完全な例については、「Change Streams とドキュメントの変更前イメージおよび変更後イメージ」を参照してください。

このページのcreateの例については、「ドキュメントの変更ストリームの事前イメージと事後イメージを使用したコレクションの作成 」を参照してください。

バージョン 6.0 で追加。

size
integer
任意。上限付きコレクションの最大サイズをバイト単位で指定します。MongoDB は、上限付きコレクションが最大サイズに達すると、古いドキュメントを削除して新しいドキュメント用スペースを確保します。size フィールドは、上限付きコレクションに必須であり、他のコレクションでは無視されます。
max
integer
任意。上限付きコレクションで許可されるドキュメントの最大数。size の制限がこの制限よりも優先されます。上限付きコレクションがドキュメントの最大数に達する前に size の制限に達した場合、MongoDB は古いドキュメントを削除します。max 制限の使用を優先する場合は、上限付きコレクションに必要な size 制限をドキュメントの最大数を十分に超える値に設定してください。
storageEngine
ドキュメント

任意。WiredTiger ストレージエンジンでのみ使用できます。

コレクション作成時に、ユーザーがコレクションごとにストレージエンジンの構成を指定できるようにします。storageEngine オプションの値は、次の形式になります。

{ <storage-engine-name>: <options> }

コレクション作成時に指定されたストレージエンジンの設定は、レプリカセット内で異なるストレージエンジンを使用するノードをサポートするために、複製中に oplog に検証され、ログが記録されます。

MongoDB 7.2 以降では、 db.createCollection()でコレクションを作成する場合、 wiredTigerストレージエンジン暗号化オプションは指定できません。 WiredTiger ストレージ エンジンで暗号化を構成するには、「 保管時の暗号化 」を参照してください

詳細については、「ストレージエンジン オプションの指定」を参照してください。

validator
ドキュメント

任意。ユーザーがコレクションの検証ルールまたは式を指定できるようにします。

validator オプションは、検証ルールまたは式を指定するドキュメントを受け取ります。クエリ演算子と同じ演算子を使用して式を指定できます。ただし、$near$nearSphere$text$where は対象外です。

  • 検証はアップデートや挿入中に行われます。既存のドキュメントは、変更されるまで検証チェックを受けません。

  • adminlocal、および config データベース内のコレクションに対してバリデーターを指定することはできません。

  • system.* コレクションにバリデーターを指定することはできません。

validationLevel
string

任意。更新中に MongoDB が既存のドキュメントに検証ルールをどの程度厳密に適用するかを決定します。

"off"
挿入またはアップデートの検証は行われません。
"strict"
デフォルト すべての挿入とすべてのアップデートに検証ルールを適用します。
"moderate"
既存の有効なドキュメントの挿入とアップデートに検証ルールを適用します。既存の無効なドキュメントのアップデートにはルールは適用しません。
validationAction
string

任意。無効なドキュメントで error を発行するか、違反に関する warn のみに留め、無効なドキュメントを挿入できるようにするかを指定します。

ドキュメントの検証は、validationLevel によって決定されたドキュメントにのみ適用されます。

"error"
デフォルト ドキュメントは、書込みが行われる前に検証に合格する必要があります。合格していない場合は、書込み操作に失敗します。
"warn"
ドキュメントは検証に合格する必要はありません。ドキュメントがバリデーションに失敗した場合、書込み操作はバリデーションの失敗をログに記録します。
indexOptionDefaults
ドキュメント

任意。ユーザーがコレクションの作成時にインデックスのデフォルト構成を指定できるようにします。

indexOptionDefaults オプションは、次の形式をとる storageEngine ドキュメントを受け入れます。

{ <storage-engine-name>: <options> }

インデックスの作成時に指定されたストレージエンジン構成は、異なるストレージエンジンを使用するノードのあるレプリカセットをサポートするために、レプリケーション中に検証され、oplog に記録されます。

viewOn
string

ビューを作成するソース・コレクションまたはビューの名前。 名前はコレクションまたはビューの完全な名前空間ではありません。つまり、データベース名が含まれておらず、作成するビューと同じデータベースであることを暗示します。 ソース コレクションと同じデータベースにビューを作成する必要があります。

db.createView() も参照してください。

pipeline
配列

集計パイプラインステージで構成される配列。create は、指定された pipelineviewOn コレクションまたはビューに適用してビューを作成します。

ビュー定義pipelineには、$outまたは$mergeステージを含めることはできません。この制限は、$lookupステージまたは$facetステージで使用されるパイプラインなどの埋め込みパイプラインにも適用されます。

ビュー定義はパブリックです。つまり、ビューに対する db.getCollectionInfos() および explain操作には、ビューを定義するパイプラインが含まれます。そのため、ビュー定義で機密性の高いフィールドと値を直接参照することは避けてください。

db.createView() も参照してください。

collation

コレクションまたはビューのデフォルトの照合手順を指定します。

照合を指定すると、大文字・小文字やアクセント記号など、文字列を比較するための言語独自のルールを指定できます。

照合オプションの構文は次のとおりです。

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}

照合を指定する場合、locale フィールドは必須ですが、その他の照合フィールドはすべて任意です。フィールドの説明については、照合ドキュメントを参照してください。

コレクション・レベルで照合を指定すると、次の効果が生じます。

  • インデックス作成操作で別の照合順序を明示的に指定しない限り、そのコレクションのインデックスはその照合順序で作成されます。

  • そのコレクションに対する操作では、明示的に別の照合順序を指定しない限り、コレクションのデフォルトの照合順序が使用されます。

    1 つの操作に複数の照合は指定できません。たとえば、フィールドごとに異なる照合を指定できません。また、ソートと検索を一度に実行する場合、検索とソートで別の照合を使用できません。

コレクションにも操作にも照合が指定されていない場合、MongoDB では以前のバージョンで使用されていた単純なバイナリ比較によって文字列が比較されます。

ビューの場合、照合方法が指定されていない場合、ビューのデフォルトの照合には「単純な」バイナリ比較照合子が使用されます。コレクションのビューの場合、ビューはコレクションの照合設定を継承しません。別のビュー上のビューの場合、作成されるビューで同じ照合設定を指定する必要があります。

コレクションまたはビューを作成した後は、そのデフォルトの照合方法をアップデートすることはできません。

コレクションの作成中にデフォルトの照合を指定する例については、「照合を指定する」を参照してください。

writeConcern
ドキュメント

任意。操作の書込み保証(write concern)を表現するドキュメント。デフォルトの書込み保証を使用する場合は省略します。

シャーディングされたクラスターで発行すると、mongos は コマンドとそのヘルパーcreatedb.createCollection() 書込み 保証を"majority" に変換します。

encryptedFields
ドキュメント

任意。 作成されるコレクションのQueryable Encryptionを構成するドキュメント。

コレクション内の暗号化されたフィールドを使用するには、新しい構成オプションを指定します。この構成を作成または編集するには、コレクションを作成および変更する権限が必要です。

構成には、フィールドとそれに対応するキー識別子、型、およびサポートされているクエリのリストが含まれます。

encryptedFieldsConfig = {
"fields": [
{
"keyId": UUID, // required
"path": String, // path to field, required
"bsonType": "string" | "int" ..., // required
"queries": // optional
[
{ "queryType": "equality" },
]
}
],
"queryPatterns": [ // optional
{"fieldName": queryType, "fieldName": queryType, … }
]
}

詳しくは、チュートリアルを参照してください。

comment
any

任意。このコマンドに添付するユーザー指定のコメント。設定すると、このコメントは以下の場所にこのコマンドの記録と合わせて表示されます。

コメントには、有効な BSON 型(string, integer, object, array など)を使用できます。

db.createCollection() メソッドと db.createView() メソッドは、create コマンドをラップします。

create は、次のような動作をします。

createは、操作中、指定されたコレクションまたはビューに対する排他ロックを取得します。 コレクションに対する後続のすべての操作は、 createがロックを解放するまで待機する必要があります。 createは通常、このロックを短時間保持します。

ビューを作成するには、データベース内の system.views コレクションに対する追加の排他ロックを取得する必要があります。このロックは、コマンドが完了するまでデータベース内のビューの作成または変更をブロックします。

トランザクションがクロスシャード間書込みトランザクション(write transaction)でない場合に、分散トランザクション内にコレクションとインデックスを作成できます。

トランザクションで create を使用するには、そのトランザクションで読み取り保証(read concern)"local" を使用する必要があります。読み取り保証レベルを "local" 以外に指定すると、トランザクションは失敗します。

Tip

以下も参照してください。

既存のコレクションまたはビューと同じ名前とオプションを使用してcreateを実行すると、 createは成功を返します。

バージョン 5.0 での変更

Stable API V1 を使用する場合、create コマンドで次のフィールドを指定することはできません。

  • autoIndexId

  • capped

  • indexOptionDefaults

  • max

  • size

  • storageEngine

配置で認証/承認が強制される場合、 createには次の特権が必要です。

タスク
必要な特権
上限のないコレクションの作成

データベース上の createCollectionまたは

insert 作成するコレクション上に

convertToCapped (コレクション用)

createCollection (データベース上)

ビューの作成

createCollection (データベース上)。

ただし、ユーザーがデータベースに対してcreateCollection権限を持ち、かつ、作成するビューに対してfind権限を持っている場合には、ユーザーには次の追加の権限必要です。

  • find ソース コレクションまたはビュー。

  • pipelineで参照されている他のコレクションまたはビュー(存在する場合)に対するfind

データベースに対して readWrite 組み込みロールを持つユーザーは、リスト内の操作を実行するために必要な権限があります。必要なロールを持つユーザーを作成するか、既存ユーザーにロールを付与してください。

64 キロバイトに制限された 上限付きコレクションを作成するには、次の形式でコマンドを発行します。

db.runCommand( { create: "collection", capped: true, size: 64 * 1024 } )

過去 24 時間の気象データを取得する時系列コレクションを作成するには、次のコマンドを実行します。

db.createCollection(
"weather24h",
{
timeseries: {
timeField: "timestamp",
metaField: "data",
granularity: "hours"
},
expireAfterSeconds: 86400
}
)

あるいは、同じコレクションを作成し、各バケットを同じ時間内のタイムスタンプ値に制限するには、次のコマンドを実行します。

db.createCollection(
"weather24h",
{
timeseries: {
timeField: "timestamp",
metaField: "data",
bucketMaxSpanSeconds: "3600",
bucketRoundingSeconds: "3600"
},
expireAfterSeconds: 86400
}
)

注意

この例では、expireAfterSeconds86400 として指定されており、ドキュメントは timestamp の値から 86400 秒後に期限切れになることを意味します。「時系列コレクション(TTL)の自動削除を設定する」を参照してください。

次の create の例では、products という名前の クラスター化されたコレクション を追加します。

db.runCommand( {
create: "products",
clusteredIndex: { "key": { _id: 1 }, "unique": true, "name": "products clustered key" }
} )

この例では、 clusteredIndexは以下を指定しています。

  • "key": { _id: 1 }は、_id フィールドにクラスター化されたインデックス キーを設定します。

  • "unique": trueは、クラスター化されたインデックス キーの値が一意でなければならないことを示しています。

  • "name": "products clustered key"は、クラスター化されたインデックス名を設定します。

MongoDB 6.0 以降では、変更ストリーム イベントを使用して、変更前と変更後のドキュメントのバージョン(変更前とイメージと変更後のイメージ)を出力できます。

  • 変更前のイメージとは、置換、更新、または削除される前のドキュメントです。挿入されたドキュメントには、変更前のイメージはありません。

  • 変更後のイメージとは、挿入、置換、または更新された後のドキュメントです。削除されたドキュメントには、変更後のイメージはありません。

  • db.createCollection()create、または collMod を使用し、コレクションに対して changeStreamPreAndPostImages を有効にします。

次の例では、changeStreamPreAndPostImages が有効になっているコレクションを作成します。

db.runCommand( {
create: "temperatureSensor",
changeStreamPreAndPostImages: { enabled: true }
} )

変更ストリーム イベントにおいて、次の条件に当てはまる場合、変更前と変更後のイメージは使用できません。

  • ドキュメントの更新または削除操作時に、コレクションにおいて有効になっていない場合。

  • expireAfterSeconds で設定した、変更前と変更後のイメージ保持時間が経過した後に削除された場合。

    • 次の例では、クラスター全体でexpireAfterSeconds100秒に設定します。

      use admin
      db.runCommand( {
      setClusterParameter:
      { changeStreamOptions: {
      preAndPostImages: { expireAfterSeconds: 100 }
      } }
      } )
    • 次の例では、expireAfterSeconds を含む現在の changeStreamOptions 設定を返します。

      db.adminCommand( { getClusterParameter: "changeStreamOptions" } )
    • expireAfterSecondsoff に設定すると、デフォルトの保持ポリシーが適用されます。対応する変更ストリーム イベントがoplog から削除されるまで、変更前と変更後のイメージは保持されます。

    • 変更ストリーム イベントが oplog から削除されると、 expireAfterSeconds の変更前と変更後のイメージの保持時間にかかわらず、対応する変更前と変更後のイメージも削除されます。

その他の考慮事項

  • 変更前と変更後のイメージを有効にすると、ストレージ容量が消費され、処理時間が増えます。変更前と変更後のイメージは、必要な場合のみ有効にしてください。

  • 変更ストリーム イベントのサイズを 16 メガバイト未満に制限します。イベントのサイズを制限するには、次の方法があります。

    • ドキュメントのサイズを 8 MB に制限します。updateDescription のような他の変更ストリーム イベントのフィールドがそれほど大きくない場合、変更ストリーム出力で変更前と変更後のイメージを同時にリクエストできます。

    • updateDescription のような他の変更ストリーム イベントのフィールドがそれほど大きくない場合、ドキュメントの変更ストリーム出力では最大 16 MB の変更後のイメージのみをリクエストしてください。

    • 次の場合、ドキュメントの変更ストリーム出力では最大 16 MB の変更前のイメージのみをリクエストしてください。

      • ドキュメントのアップデートがドキュメントの構造または内容のごく一部にしか影響しない場合、そして

      • replace 変更イベントが発生しない場合。replace イベントには、常に変更後のイメージが含まれます。

  • 変更前イメージをリクエストするには、db.collection.watch() で、fullDocumentBeforeChangerequired または whenAvailable に設定します。変更後イメージをリクエストするには、同じ方法で fullDocument を設定します。

  • 変更前のイメージは config.system.preimages コレクションに書き込まれます。

    • config.system.preimages コレクションが大きくなる場合があります。コレクションのサイズを制限するには、前述のとおり、変更前のイメージに expireAfterSeconds 時間を設定します。

    • 変更前のイメージはバックグラウンド プロセスによって非同期で削除されます。

重要

下位互換性のない機能

MongoDB 6.0 以降では、変更ストリームにドキュメントの変更前のイメージと変更後のイメージを使用している場合、以前の MongoDB バージョンにダウングレードする前に、collMod コマンドを使用して各コレクションの changeStreamPreAndPostImages を無効にする必要があります。

Tip

以下も参照してください。

注意

このコマンドによって作成されたビューは、マテリアライズド ビューを参照しません。 オンデマンドのマテリアライズドビューについては、代わりに $merge を参照してください。

ビュー定義pipelineには、$outまたは$mergeステージを含めることはできません。この制限は、$lookupステージまたは$facetステージで使用されるパイプラインなどの埋め込みパイプラインにも適用されます。

create コマンドを使用して ビュー を作成するには、次の構文を使用します。

db.runCommand( { create: <view>, viewOn: <source>, pipeline: <pipeline> } )

または照合を指定する場合は、次の手順に従います。

db.runCommand( { create: <view>, viewOn: <source>, pipeline: <pipeline>, collation: <collation> } )

たとえば、以下のドキュメントでsurveyコレクションを作成する場合、

db.survey.insertMany(
[
{ _id: 1, empNumber: "abc123", feedback: { management: 3, environment: 3 }, department: "A" },
{ _id: 2, empNumber: "xyz987", feedback: { management: 2, environment: 3 }, department: "B" },
{ _id: 3, empNumber: "ijk555", feedback: { management: 3, environment: 4 }, department: "A" }
]
)

次の操作は、_idfeedback.management、および department フィールドを持つ managementRatings ビューを作成します。

db.runCommand ( {
create: "managementFeedback",
viewOn: "survey",
pipeline: [ { $project: { "management": "$feedback.management", department: 1 } } ]
} )

重要

ビュー定義はパブリックです。つまり、ビューに対する db.getCollectionInfos() および explain操作には、ビューを定義するパイプラインが含まれます。そのため、ビュー定義で機密性の高いフィールドと値を直接参照することは避けてください。

Tip

以下も参照してください。

照合はコレクション レベルまたはビュー レベルで指定できます。たとえば、次の操作で照合を作成し、コレクションの照合を指定します(照合フィールドの説明については、照合ドキュメントを参照してください)。

db.runCommand ( {
create: "myColl",
collation: { locale: "fr" }
});

この照合は、別の照合を明示的に指定しない限り、照合をサポートするインデックスと操作で使用されます。たとえば、次のドキュメントを myColl に挿入します。

{ _id: 1, category: "café" }
{ _id: 2, category: "cafe" }
{ _id: 3, category: "cafE" }

次の操作はコレクションの照合を使用します。

db.myColl.find().sort( { category: 1 } )

この操作を実行すると、次の順序でドキュメントが返されます。

{ "_id" : 2, "category" : "cafe" }
{ "_id" : 3, "category" : "cafE" }
{ "_id" : 1, "category" : "café" }

単純なバイナリ照合(特定の照合が設定されていない)を使用するコレクションに対して同じ操作を実行すると、次の順序でドキュメントが返されます。

{ "_id" : 3, "category" : "cafE" }
{ "_id" : 2, "category" : "cafe" }
{ "_id" : 1, "category" : "café" }

db.createCollection() を使用してコレクションを作成するときに、コレクション固有のストレージ エンジン構成オプションを指定できます。次の操作を検討してください。

db.runCommand( {
create: "users",
storageEngine: { wiredTiger: { configString: "<option>=<setting>" } }
} )

この操作では、users stringMongoDBwiredTigerにより ストレージ エンジンに渡される特定の構成 を使用して、 という名前の新しいコレクションが作成されます。コレクション レベルのオプションに関する WiredTiger のドキュメントを wiredTiger参照してください 特定の オプション用。

MongoDB 7.2 以降では、 db.createCollection()でコレクションを作成する場合、 wiredTigerストレージエンジン暗号化オプションは指定できません。 WiredTiger ストレージ エンジンで暗号化を構成するには、「 保管時の暗号化 」を参照してください

戻る

convertToCapped