MongoDB – Create Collection

In this chapter, we will see how to create a collection using MongoDB.

The createCollection() Method

MongoDB db.createCollection(name, options) is used to create collection.

Syntax

Basic syntax of createCollection() command is as follows −

db.createCollection(name, options)

In the command, the name is the name of the collection to be created. Options is a document and are used to specify the configuration of collection.

ParameterTypeDescription
NameStringName of the collection to be created
OptionsDocument(Optional) Specify options about memory size and indexing

The options parameter is optional, so you need to specify only the name of the collection. Following is the list of options you can use −

FieldTypeDescription
cappedBoolean(Optional) If true, enables a capped collection. The capped collection is a fixed-size collection that automatically overwrites its oldest entries when it reaches its maximum size. If you specify true, you need to specify the size parameter also.
autoIndexIdBoolean(Optional) If true, automatically create an index on _id field.s Default value is false.
sizenumber(Optional) Specifies a maximum size in bytes for a capped collection. If capped is true, then you need to specify this field also.
maxnumber(Optional) Specifies the maximum number of documents allowed in the capped collection.

While inserting the document, MongoDB first checks the size field of capped collection, then it checks the max field.

Examples

The basic syntax of createCollection() method without options is as follows −

>use test
switched to db test
>db.createCollection("mycollection")
{ "ok" : 1 }

You can check the created collection by using the command show collections.

>show collections
mycollection
system.indexes

The following example shows the syntax of createCollection() method with few important options −

> db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } ){
"ok" : 0,
"errmsg" : "BSON field 'create.autoIndexID' is an unknown field.",
"code" : 40415,
"codeName" : "Location40415"
}

In MongoDB, you don’t need to create a collection. MongoDB creates collection automatically when you insert some document.

>db.adglob.insert({"name" : "adglob"}),
WriteResult({ "nInserted" : 1 })
>show collections
mycol
mycollection
system.indexes
adglob

Leave a Reply