How to Create a Collection in MongoDB

August 1, 2024

Introduction

A MongoDB collection serves as a container for related MongoDB documents, similar to a table in relational databases. Knowing how to construct and manage collections is an essential step when creating databases in MongoDB.

This guide will show two ways to create a collection in MongoDB.

How to Create a Collection in MongoDB

Prerequisites

Method 1: Create a Collection in MongoDB via createCollection()

The first way to create a collection is to use the built-in createCollection() database method. There are four different collection types in MongoDB:

  • Standard. The most common collection type. Used for general data storage.
  • Capped. Fixed-size collection that overwrites the oldest documents when reaching the size limit.
  • Clustered. Implements a clustering index to improve query performance by indexing documents.
  • View. A read-only collection and an aggregate of one or more base collections.

Each collection type has options specific to that type. The sections below show the exact syntax and additional options.

Create Collection Syntax

To create a collection using this method, use the following syntax:

db.createCollection("[collection_name]", [options])

The statement has two parameters:

  • [collection_name]. The name of the collection. The name must be unique within a single database.
  • [options]. Optional parameter to specify collection type and additional settings.

For example, to create a collection called myCollection, run:

db.createCollection("myCollection")
db.createcollection MongoDB output

The MongoDB shell confirms the creation was successful. Verify the collection is available with:

show collections;
show collections; MongoDB output

The newly created collection appears on the list.

Create Collection Options

There are several options that help specify additional settings when creating a collection using the createCollection() method. Refer to the table below for more details on some of the available options:

OptionDescription
cappedIndicates if the collection is capped (set to true to create a capped collection).
max(Optional) Specifies the maximum number of documents in a capped collection.
sizeSets the maximum size for a capped collection in bytes. When this size limit is reached, the oldest documents are overwritten.
clusteredIndexDefines the clustering index for document organization based on key, improving query performance.
keySets the key pattern for the clustering index.
unique(Optional) Ensures values are unique in a clustered collection.
viewOnDetermines the base collection on which a view is based.
pipelineDefines an array of aggregation steps to transform documents from base into view. Each step performs a transformation.
storageEngineSpecifies the storage engine and determines how data is stored and managed.

For example, to create a capped collection, see the following example:

db.createCollection("myCappedCollection", {
  capped: true,
  size: 10000,
  max: 100
});
db.createCollection capped collection MongoDB output

The query creates a capped collection (capped: true) called myCappedCollection. It also adds additional options (size and max) and constraints specific to that collection type.

Method 2: Create a Collection in MongoDB During the insert Process

Another way to create a collection in MongoDB is during the insert process. If a collection does not exist, the process automatically creates one and inserts the provided data.

For example, to create a collection and insert a document, use the following command:

db.myCollection.insertOne({
  id: 1,
  name: "example"
});
db.mycollection.insertone collection mongodb output

If myCollection does not exist, the command creates it during the insert process. Compared to the previous method, the insert process quickly creates a collection and adds data in a single step.

Conclusion

This guide showed two methods for creating a collection in MongoDB. A collection organizes documents in a MongoDB database, similar to how a table works in a relational database.

Next, see how to create and deploy a sharded MongoDB cluster in our MongoDB sharding guide.

Was this article helpful?
YesNo
Milica Dancuk
Milica Dancuk is a technical writer at phoenixNAP with a passion for programming. With a background in Electrical Engineering and Computing, coupled with her teaching experience, she excels at simplifying complex technical concepts in her writing.
Next you should read
How to Install & Set up the MEAN Stack on Ubuntu (MongoDB, Express.js, Angular, Node.js)
March 28, 2024

The MEAN stack is an open-source JavaScript (JS) framework used for developing robust web applications. It is a set of software...
Read more
How to Run MongoDB on Kubernetes
February 24, 2022

MongoDB is a general purpose, document-based NoSQL. This tutorial will teach you how to deploy MongoDB on Kubernetes as a standalone, local development instance, and as a replica set.
Read more
How to Deploy and Manage MongoDB with Docker
February 25, 2020

This tutorial shows you how to use Docker and an official MongoDB container image to deploy your databases. Additionally, it covers basic commands that allow you to interact with the...
Read more
MongoDB vs. MySQL
December 31, 2020

The rise of NoSQL databases caused a stir in the database community, with many companies deciding to adopt the novel approach to database management. This article analyses how MongoDB, a document-oriented NoSQL...
Read more