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.
Parameter | Type | Description |
Name | String | Name of the collection to be created |
Options | Document | (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 −
Field | Type | Description |
capped | Boolean | (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. |
autoIndexId | Boolean | (Optional) If true, automatically create an index on _id field.s Default value is false. |
size | number | (Optional) Specifies a maximum size in bytes for a capped collection. If capped is true, then you need to specify this field also. |
max | number | (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
>