In this tutorial, we will learn to create id using mongoose in JavaScript. Users can use Mongoose NPM package in NodeJS to use MongoDB with NodeJS or connect MongoDB with applications.
When storing data in the MongoDB database, we must add a unique id to each data collection. However, if we don't add the id, it is automatically generated and added to the data.
Users can use mongoose in JavaScript to create ids according to the following syntax.
var newId = new mongoose.mongo.ObjectId();
In the above syntax, we access "mongo" from mongoose and call the "ObjectId()" method to generate a new id.
In the example below, we connect MongoDB with NodeJS. However, users need to change their account details. After that, we created the Mongoose pattern. Using this architecture, we created the Mongoose model.
The data object contains the data to be saved to the MongoDB database. After that, we save the data collection into MongoDB using the save() method. If the data is successfully stored, the results are printed. In the output, the user can observe the id of the data.
We did not assign any id to the data, so it was automatically generated.
const mongoose = require("mongoose"); // Database connection mongoose .connect( "mongodb+srv://shubhamvora05:Stockdata@stockdata.lrlgm.mongodb.net/StockList?retryWrites=true&w=majority", { useNewUrlParser: true, useUnifiedTopology: true } ) .then(() => { console.log("Connected to database"); }) .catch((err) => { console.log("Error connecting to DB", err.message); }); const dataSchema = new mongoose.Schema({ name: String, type: String, }); const dataModel = mongoose.model("dataModel", dataSchema); const data = { name: "Delhi", type: "city", }; var dataDetails = new dataModel(data); dataDetails .save() .then((res) => { console.log(res); }) .catch((err) => { console.log(err); });
When executed, it will produce the following output -
$ node index.js Connected to database { name: 'Delhi', type: 'city', _id: new ObjectId("642b937407844923e4fddee7"), __v: 0 }
In the following example, we use the "mongo.ObjectId()" method to generate an id for the data. After that we print the generated id in the console. Next, we save the data by assigning the newly generated id.
In the output, the user can observe that the id of the data is the same as the id we generated.
const mongoose = require("mongoose"); // Database connection mongoose .connect( "mongodb+srv://shubhamvora05:Stockdata@stockdata.lrlgm.mongodb.net/StockList?retryWrites=true&w=majority", { useNewUrlParser: true, useUnifiedTopology: true } ) .then(() => { console.log("Connected to database"); }) .catch((err) => { console.log("Error connecting to DB", err.message); }); const dataSchema = new mongoose.Schema({ name: String, type: String, }); const dataModel = mongoose.model("dataModel", dataSchema); var newId = new mongoose.mongo.ObjectId(); console.log(newId); const data = { _id: newId, name: "Gujarat", type: "state", }; var dataDetails = new dataModel(data); dataDetails .save() .then((res) => { console.log(res); }) .catch((err) => { console.log(err); });
When executed, it will produce the following output -
$ node index.js new ObjectId("642b9796987428b8b945f477") Connected to database { name: 'Gujarat', type: 'state', _id: new ObjectId("642b9796987428b8b945f477"), __v: 0 }
In the following example, we pass a 12-byte string as a parameter to the ObjectId() method. It generates a new id based on the value passed as argument. However, the user can also pass 24 hexadecimal characters as parameters.
In the output, the user can observe the 24 hexadecimal characters of the id.
const mongoose = require("mongoose"); // Database connection mongoose .connect( "mongodb+srv://shubhamvora05:Stockdata@stockdata.lrlgm.mongodb.net/StockList?retryWrites=true&w=majority", { useNewUrlParser: true, useUnifiedTopology: true } ) .then(() => { console.log("Connected to database"); }) .catch((err) => { console.log("Error connecting to DB", err.message); }); const dataSchema = new mongoose.Schema({ name: String, type: String, }); const dataModel = mongoose.model("dataModel", dataSchema); var newId = new mongoose.mongo.ObjectId('234556567123'); const data = { _id: newId, name: "Lokesh", type: "name", }; var dataDetails = new dataModel(data); dataDetails .save() .then((res) => { console.log(res); }) .catch((err) => { console.log(err); });
When executed, it will produce the following output -
$ node index.js Connected to database { name: 'Lokesh', type: 'name', _id: new ObjectId("323334353536353637313233"), __v: 0 }
Users learned to generate random ids in MongoDb. Additionally, users have learned to generate specific IDs for MongoDB data by passing a 12-byte string or 24 hexadecimal characters as a parameter to the ObjectId() method.
The above is the detailed content of How to create id using mongoose in Javascript?. For more information, please follow other related articles on the PHP Chinese website!