Visit complete MongoDB roadmap

← Back to Topics List

Int64 / Long

The Long data type in MongoDB is a 64-bit integer, which is useful when you need to store large integral values beyond the range of the standard int (32-bit integer) data type. The range for the Long data type is from -2^63 to 2^63 - 1. This data type is suitable for applications that require high-precision numerical data, such as analytics and scientific calculations.

Syntax

To define a field with the Long data type in MongoDB, you can use the $numberLong keyword. Here’s an example of a document with a field named largeValue defined as a Long data type:

{
  "largeValue": { "$numberLong": "1234567890123456789" }
}

Usage

You can use the Long data type to store and query large integral values in your MongoDB collections. To insert a document with a Long field, you can use the following syntax:

db.collection.insert({
  largeValue: NumberLong('1234567890123456789'),
});

To query documents that have a Long field with a specific value, you can use the following syntax:

db.collection.find({
  largeValue: NumberLong('1234567890123456789'),
});

Considerations

When using the Long data type in MongoDB, keep the following considerations in mind:

  • JavaScript uses the IEEE 754 floating-point representation for numbers, which may cause a loss of precision when storing and manipulating large integral values. To avoid this, always manipulate Long values using MongoDB’s built-in NumberLong() function, as shown in the examples above.

  • When using the Long data type, be aware of the performance trade-offs. Operations on 64-bit integers typically require more processing power and storage space compared to 32-bit integers. If you don’t need the extra range provided by the Long data type, consider using the int data type instead.

  • If you need to store extremely large numbers that exceed the range of the Long data type, you may want to consider using the Decimal128 data type, which provides 128-bit decimal-based floating-point numbers with 34 decimal digits of precision.

Community

roadmap.sh is the 6th most starred project on GitHub and is visited by hundreds of thousands of developers every month.

Roadmaps Best Practices Guides Videos Store YouTube

roadmap.sh by Kamran Ahmed

Community created roadmaps, articles, resources and journeys to help you choose your path and grow in your career.

© roadmap.sh · FAQs · Terms · Privacy

ThewNewStack

The leading DevOps resource for Kubernetes, cloud-native computing, and the latest in at-scale development, deployment, and management.