Visit complete MongoDB roadmap
MongoDB Topic

Array

Array

In this section, we will discuss the Array datatype in MongoDB. Arrays are used to store multiple values in a single field of a MongoDB document. Arrays can contain values of different data types, including strings, numbers, dates, objects, and other embedded arrays.

Why use Arrays?

Arrays are useful when you want to store multiple related items as part of a single document. For example, you might have a list of tags for a blog post or the ingredients for a recipe. Using arrays simplifies querying the data, as you can easily search for documents that contain a specific item in an array or match several items at once.

Creating Arrays

To create an array in MongoDB, simply include it as a field in a document using the square bracket notation ([]). You can add values to the array while creating the document or update it later with new items.

Example of creating an array in a document:

{
  "_id": ObjectId("123xyz"),
  "name": "John Doe",
  "hobbies": ["reading", "swimming", "coding"]
}

Querying Arrays

MongoDB provides various operators such as $in, $all, and $size, for querying documents with arrays. The following are some examples:

  • Finding documents with a specific item in an array:
db.collection.find({ hobbies: 'swimming' });
  • Finding documents with any of the specified items in an array:
db.collection.find({ hobbies: { $in: ['swimming', 'coding'] } });
  • Finding documents with all specified items in an array:
db.collection.find({ hobbies: { $all: ['reading', 'coding'] } });
  • Finding documents with a specific array size:
db.collection.find({ hobbies: { $size: 3 } });

Updating Arrays

You can update documents containing arrays by using operators like $push, $addToSet, $pull, and $pop.

  • Adding a new item to an array:
db.collection.updateOne(
  { _id: ObjectId('123xyz') },
  { $push: { hobbies: 'painting' } }
);
  • Adding unique items to an array:
db.collection.updateOne(
  { _id: ObjectId('123xyz') },
  { $addToSet: { hobbies: 'painting' } }
);
  • Removing an item from an array:
db.collection.updateOne(
  { _id: ObjectId('123xyz') },
  { $pull: { hobbies: 'reading' } }
);
  • Removing the first or last item from an array:
// Remove the first item (use $pop with -1)
db.collection.updateOne({ _id: ObjectId('123xyz') }, { $pop: { hobbies: -1 } });

// Remove the last item (use $pop with 1)
db.collection.updateOne({ _id: ObjectId('123xyz') }, { $pop: { hobbies: 1 } });

In this section, we’ve covered the essentials of using the Array datatype in MongoDB. With this knowledge, you can efficiently model and query data that requires multiple related items within a single document.

More Topics

Explore related content

View All Topics
Loved by 100K+ Developers

Start Your Learning
Journey Today

Join thousands of developers who are leveling up their skills with structured roadmaps and expert guidance

No credit card required
Always free
Track your progress