Visit complete MongoDB roadmap

← Back to Topics List

Timestamp

A “Timestamp” in MongoDB is a specific datatype used for tracking the time of an event or a document modification. It’s a 64-bit value containing a 4-byte incrementing ordinal for operations within a given second and a 4-byte timestamp representing the seconds since the Unix epoch (Jan 1, 1970).

When to use Timestamp

Timestamps are mainly used for internal MongoDB operations, such as replication and sharding. They can be useful in tracking the order of operations in a distributed system and ensuring data consistency across multiple nodes.

Creating and Querying Timestamps

To create a Timestamp, you can use the BSON Timestamp type. The syntax is as follows:

new Timestamp(t, i);

Where t is the seconds since the Unix epoch, and i is an incrementing ordinal for operations within a given second.

For example, to create a Timestamp for the current time:

var currentTimestamp = new Timestamp(
  Math.floor(new Date().getTime() / 1000),
  1
);

To query documents based on their Timestamp, you can use the $gt, $gte, $lt, or $lte query operators:

// Find all documents with a Timestamp greater than a specified date
db.collection.find({
  timestampFieldName: {
    $gt: new Timestamp(Math.floor(new Date('2021-01-01').getTime() / 1000), 1),
  },
});

Keep in mind that using Timestamps for application purposes is generally not recommended, as their main purpose is to serve internal MongoDB operations. Instead, consider using the Date datatype for general-purpose time tracking in your application.

Overall, Timestamps are a powerful tool in MongoDB for managing operations in distributed systems and maintaining data consistency.

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.