We may not have the course you’re looking for. If you enquire or give us a call on +44 1344 203 999 and speak to our training experts, we may still be able to help with your training requirements.
Training Outcomes Within Your Budget!
We ensure quality, budget-alignment, and timely delivery by our expert instructors.
MongoDB, as a leading NoSQL database, offers a rich and versatile set of data types beyond traditional relational databases. These MongoDB data types, including scalar types like Int32 and complex types like ObjectId, offer robust solutions to diverse data storage requirements.
According to a 2022 MongoDB Whitepaper, about 60 per cent of respondents reveal that digital transformation increased the complexity of data architecture. This statistic demonstrates the necessity of efficient programming. This blog will explain the various Data Types that MongoDB supports, and along with that, you will also learn how to implement them.
Table of Contents
1) Understanding What are Data Types in MongoDB
2) Exploring the different MongoDB Data Types
a) Date
b) ObjectId
c) Int32
d) Long
e) Decimal128
f) Timestamp
g) Type checking
3) Looking at some examples of MongoDB Data Types
4) Conclusion
Understanding What are Data Types in MongoDB
MongoDB, a NoSQL database, offers developers the flexibility to handle diverse data through its dynamic schema. Developers can harness the full potential of MongoDB by utilising its data types. Data types essentially define the kind of values that can be stored and manipulated within each field in a MongoDB collection.
Additionally, a comprehensive understanding of these data types is pivotal because they significantly influence the database's processing efficiency. The data types in MongoDB are divided into two major categories, namely Scalar and Complex.
Now, the Scalar data types include simple types like String, Integer, and Boolean, while Complex data types encompass Array, Object, and Null. MongoDB's wide range of data types offers impressive adaptability,
Exploring the different MongoDB Data Types
MongoDB includes a diverse array of data types divided into Scalar and Complex categories. The scalar types include String, Integer, and Boolean, which hold singular values. The complex types, including Array, Object, and Null, manage multiple or nested values.
The computing flexibility allows MongoDB to handle varied data requirements efficiently. Here are the seven key MongoDB Data Types explained as follows:
Date
The Date data type in MongoDB stores the current date and time in UNIX time format by default, providing a concise means of referencing a point in time. The default value is in milliseconds since the system’s epoch. The data type is especially beneficial when you need to carry out operations based on timestamps.
ObjectId
ObjectId is a 12-byte identifier typically used to uniquely identify documents within a collection. The structure of ObjectId includes the timestamp of creation, machine identifier, process identifier, and a random incremental value. ObjectId is the default value for the '_id' field if the '_id' field is not specified in a document.
Int32
Int32 is used to store a 32-bit integer value. This type is beneficial when dealing with numerical data that doesn't require the large storage space of a 64-bit integer. However, care must be taken to ensure that the values stored as Int32 do not exceed its range, or else a potential integer overflow might occur.
Long
In contrast to Int32, the Long data type is used for storing a 64-bit integer. Long is ideal for storing larger integers that exceed the Int32 limit.
Decimal128
Decimal128 is a 128-bit decimal-based floating-point type that accurately represents decimal fractions. It's perfect for financial calculations that demand high precision, such as monetary operations, where rounding errors may cause significant discrepancies.
Timestamp
The Timestamp data type in MongoDB is a special internal data type that records a moment in time. It's a 64-bit value where the first 32 bits are of the ‘time_t’ value, and the second 32 bits are the incrementing ordinal amount for operations within one given second. While similar to the ‘Date’ data type, it's primarily for internal MongoDB use.
Type checking
Type checking isn't a data type per se but a crucial function in MongoDB. It allows the user to verify the type of data stored in a field. Type checking functions become particularly handy during data validation or while performing certain operations that are type-specific.
Learn about the latest database technologies by signing up for the Database Training course now!
Looking at some examples of MongoDB Data Types
Developers find it useful to practice with examples to utilise the various MongoDB Data Types in their programming process. Here are a few examples explaining the usage of some of these types:
Example of ‘Date’ usage
This example will insert a new document into a collection named "orders". The document will contain the current date as the order date.
Code:
var MongoClient = require('mongodb').MongoClient; var url = "mongodb://localhost:27017/"; MongoClient.connect(url, function(err, db) { if (err) throw err; var dbo = db.db("mydb"); var myobj = { product: "Book", order_date: new Date() }; dbo.collection("orders").insertOne(myobj, function(err, res) { if (err) throw err; console.log("1 document inserted"); db.close(); }); }); |
Example of Objectid type
This example will insert a new document into a collection named "orders". The document will have an '_id' field assigned a specific ObjectId.
Code:
var MongoClient = require('mongodb').MongoClient; var ObjectId = require('mongodb').ObjectId; var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) { if (err) throw err; var dbo = db.db("mydb"); var myobj = { _id: new ObjectId(), product: "Book" }; dbo.collection("orders").insertOne(myobj, function(err, res) { if (err) throw err; console.log("1 document inserted"); db.close(); }); }); |
Example of Int32 type
The below example code shows the insertion of a new document into a collection named "products". The document will have a 'price' field assigned an Int32 value.
Code:
var MongoClient = require('mongodb').MongoClient; var Int32 = require('mongodb').Int32; var url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) { if (err) throw err; var dbo = db.db("mydb"); var myobj = { name: "Book", price: new Int32(50) }; dbo.collection("products").insertOne(myobj, function(err, res) { if (err) throw err; console.log("1 document inserted"); db.close(); }); }); |
Conclusion
MongoDB Data Types offer a powerful and versatile way to handle data, supporting everything from simple strings to complex objects. By understanding and applying these data types effectively, developers can harness the full potential of MongoDB, ensuring efficient, precise, and robust data management.
Learn about aggregation techniques, by signing up for the MongoDB Developer course now!
Frequently Asked Questions
Upcoming Programming & DevOps Resources Batches & Dates
Date
Fri 17th Jan 2025
Fri 7th Mar 2025
Fri 23rd May 2025
Fri 12th Sep 2025
Fri 14th Nov 2025
Fri 12th Dec 2025