在本教程中,我們將學習在 JavaScript 中使用 mongoose 建立 id。使用者可以使用 NodeJS 中的 Mongoose NPM 套件將 MongoDB 與 NodeJS 結合使用,或將 MongoDB 與應用程式連接起來。
在MongoDB資料庫中儲存資料時,我們必須為每個資料集合新增一個唯一的id。但是,如果我們不添加 id,它會自動生成並添加到數據中。
使用者可以按照以下語法在 JavaScript 中使用 mongoose 建立 id。
var newId = new mongoose.mongo.ObjectId();
在上面的語法中,我們從 mongoose 存取“mongo”並呼叫“ObjectId()”方法來產生新的 id。
在下面的範例中,我們將 MongoDB 與 NodeJS 連接起來。但是,用戶需要更改其帳戶詳細資訊。之後,我們創建了貓鼬模式。使用該架構,我們創建了貓鼬模型。
資料物件包含要儲存到 MongoDB 資料庫中的資料。之後,我們使用 save() 方法將資料集合儲存到 MongoDB 中。如果成功儲存數據,則列印結果。在輸出中,使用者可以觀察資料的id。
我們沒有為資料分配任何 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); const data = { name: "Delhi", type: "city", }; var dataDetails = new dataModel(data); dataDetails .save() .then((res) => { console.log(res); }) .catch((err) => { console.log(err); });
執行時,它將產生以下輸出 -
$ node index.js Connected to database { name: 'Delhi', type: 'city', _id: new ObjectId("642b937407844923e4fddee7"), __v: 0 }
在下面的範例中,我們使用「mongo.ObjectId()」方法為資料產生一個 id。之後我們在控制台列印生成的id。接下來,我們透過分配新產生的 id 來保存資料。
在輸出中,使用者可以觀察到資料的id與我們產生的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(); 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); });
執行時,它將產生以下輸出 -
$ node index.js new ObjectId("642b9796987428b8b945f477") Connected to database { name: 'Gujarat', type: 'state', _id: new ObjectId("642b9796987428b8b945f477"), __v: 0 }
在下面的範例中,我們將 12 個位元組的字串作為 ObjectId() 方法的參數傳遞。它根據作為參數傳遞的值產生新的 id。不過,使用者也可以傳遞 24 個十六進位字元作為參數。
在輸出中,使用者可以觀察到 24 個十六進位字元的 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); });
執行時,它將產生以下輸出 -
$ node index.js Connected to database { name: 'Lokesh', type: 'name', _id: new ObjectId("323334353536353637313233"), __v: 0 }
使用者學會了在 MongoDb 中產生隨機 id。此外,使用者還學會了透過傳遞 12 個位元組的字串或 24 個十六進位字元作為 ObjectId() 方法的參數來為 MongoDB 資料產生特定的 ID。
以上是如何在 Javascript 中使用 mongoose 建立 id?的詳細內容。更多資訊請關注PHP中文網其他相關文章!