How can I generate an ObjectId with mongoose?
mongodb, mongoose, node.js
Solution
You can find the `ObjectId` constructor on `require('mongoose').Types`. Here is an example:
var mongoose = require('mongoose');
var id = mongoose.Types.ObjectId();
`id` is a newly generated `ObjectId`.
Note: As Joshua Sherman points out, with Mongoose 6 you must prefix the call with `new`:
var id = new mongoose.Types.ObjectId();
You can read more about the `Types` object at Mongoose#Types documentation.
Problem
I'd like to generate a MongoDB `ObjectId` with Mongoose. Is there a way to access the `ObjectId` constructor from Mongoose? This question is about generating a new `ObjectId` from scratch. The generated ID is a brand new universally unique ID. Another question asks about creating an `ObjectId` from an existing string representation. In this case, you already have a string representation of an ID—it may or may not be universally unique—and you are parsing it into an `ObjectId`.