Skip to main content

ObjectID

Why use ObjectID

  • ObjectId is a fundamental component that ensures each document within a collection has a unique identifier
  • By embedding metadata like the creation timestamp and maintaining efficiency in generating unique IDs
  • ObjectId plays a crucial role in the effective management and retrieval of documents in MongoDB
// _id:67637e50a77f3386fec416ca
// 12 bytes
// 4 bytes: timestamp
// 3 bytes: machine identifier
// 2 bytes: process identifier
// 3 bytes: counter

Generate a New ObjectId

const mongoose = require('mongoose');
const id = new mongoose.Types.ObjectId();
console.log(id);

Get Timestamp

const mongoose = require('mongoose');
const id = new mongoose.Types.ObjectId();
const timestamp = id.getTimestamp();

Validate ObjectID

const mongoose = require('mongoose');
const id = new mongoose.Types.ObjectId();

const isValid = mongoose.Types.ObjectId.isValid(id);
console.log(isValid);

//to use validation in code
if(!mongoose.Types.ObjectId.isValid(req.body.customerID)){
return res.status(400).send('Invalid Customer');
}