- Reference >
- Database Commands >
- Administration Commands >
- create
create¶
On this page
Definition¶
-
create¶ Explicitly creates a collection.
createhas the following form:Changed in version 3.2.
createhas the following fields:Field Type Description createstring The name of the new collection. cappedboolean Optional. To create a capped collection, specify true. If you specifytrue, you must also set a maximum size in thesizefield.autoIndexIdboolean Optional. Specify
falseto disable the automatic creation of an index on the_idfield.Important
For replica sets, do not set
autoIndexIdtofalse.Deprecated since version 3.2: The
autoIndexIdoption will be removed in version 3.4.sizeinteger Optional. Specify a maximum size in bytes for a capped collection. Once a capped collection reaches its maximum size, MongoDB removes the older documents to make space for the new documents. The sizefield is required for capped collections and ignored for other collections.maxinteger Optional. The maximum number of documents allowed in the capped collection. The sizelimit takes precedence over this limit. If a capped collection reaches thesizelimit before it reaches the maximum number of documents, MongoDB removes old documents. If you prefer to use themaxlimit, ensure that thesizelimit, which is required for a capped collection, is sufficient to contain the maximum number of documents.flagsinteger Optional. Available for the MMAPv1 storage engine only to set the
usePowerOf2Sizesand thenoPaddingflags. To set, specify one of the following values:0corresponds tousePowerOf2Sizesflag set tofalseandnoPaddingflag set tofalse.1corresponds tousePowerOf2Sizesflag set totrueandnoPaddingflag set tofalse.2corresponds tousePowerOf2Sizesflag set tofalseandnoPaddingflag set totrue.3corresponds tousePowerOf2Sizesflag set totrueandnoPaddingflag set totrue.
Note
MongoDB 3.0 ignores the
usePowerOf2Sizesflag. SeecollModanddb.createCollection()for more information.Defaults to
1.New in version 2.6.
Changed in version 3.0.0: Add support for setting the new
noPaddingflag.Warning
Do not set
noPaddingif the workload includes removes or any updates that may cause documents to grow. For more information, see No Padding Allocation Strategy.storageEnginedocument Optional. Available for the WiredTiger storage engine only.
New in version 3.0.
Allows users to specify configuration to the storage engine on a per-collection basis when creating a collection. The value of the
storageEngineoption should take the following form:Storage engine configuration specified when creating collections are validated and logged to the oplog during replication to support replica sets with members that use different storage engines.
validatordocument Optional. Allows users to specify validation rules or expressions for the collection. For more information, see Document Validation.
New in version 3.2.
The
validatoroption takes a document that specifies the validation rules or expressions. You can specify the expressions using the same operators as the query operators with the exception of$geoNear,$near,$nearSphere,$text, and$where.Note
- Validation occurs during updates and inserts. Existing documents do not undergo validation checks until modification.
- You cannot specify a validator for collections in the
admin,local, andconfigdatabases. - You cannot specify a validator for
system.*collections.
validationLevelstring Optional. Determines how strictly MongoDB applies the validation rules to existing documents during an update.
New in version 3.2.
validationLevelDescription "off"No validation for inserts or updates. "strict"Default Apply validation rules to all inserts and all updates. "moderate"Apply validation rules to inserts and to updates on existing valid documents. Do not apply rules to updates on existing invalid documents. validationActionstring Optional. Determines whether to
erroron invalid documents or justwarnabout the violations but allow invalid documents to be inserted.New in version 3.2.
Important
Validation of documents only applies to those documents as determined by the
validationLevel.validationActionDescription "error"Default Documents must pass validation before the write occurs. Otherwise, the write operation fails. "warn"Documents do not have to pass validation. If the document fails validation, the write operation logs the validation failure. indexOptionDefaultsdocument Optional. Allows users to specify a default configuration for indexes when creating a collection.
The
indexOptionDefaultsoption accepts astorageEnginedocument, which should take the following form:Storage engine configuration specified when creating indexes are validated and logged to the oplog during replication to support replica sets with members that use different storage engines.
New in version 3.2.
The
db.createCollection()method wraps thecreatecommand.
Considerations¶
The create command obtains a write lock on the
affected database and will block other operations until it has
completed. The write lock for this operation is typically short
lived. However, allocations for large capped collections may take
longer.
Examples¶
Create a Capped Collection¶
To create a capped collection limited to 64 kilobytes, issue the command in the following form:
Specify Storage Engine Options¶
New in version 3.0.
You can specify collection-specific storage engine configuration
options when you create a collection with
db.createCollection(). Consider the following operation:
This operation creates a new collection named users with a
specific configuration string that MongoDB will pass to the
wiredTiger storage engine. See the WiredTiger documentation of
collection level options
for specific wiredTiger options.