In this chapter, we will see how to create a collection using MongoDB.
MongoDB db.createCollection(name, options) is used to create collection.
Basic syntax of createCollection() command is as follows −
db.createCollection(name, options)
In the command, name is name of collection to be created. Options is a document and is used to specify 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 |
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. 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 size parameter also. |
autoIndexId | Boolean | (Optional) If true, automatically create 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 size field of capped collection, then it checks max field.
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 collection. MongoDB creates collection automatically, when you insert some document.
>db.howcodex.insert({"name" : "howcodex"}), WriteResult({ "nInserted" : 1 }) >show collections mycol mycollection system.indexes howcodex >