首頁 > web前端 > js教程 > 主體

如何在 Javascript 中使用 mongoose 建立 id?

WBOY
發布: 2023-08-24 09:25:02
轉載
1506 人瀏覽過

如何在 Javascript 中使用 mongoose 创建 id?

在本教程中,我們將學習在 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。

範例 1

在下面的範例中,我們將 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
}
登入後複製

範例 2

在下面的範例中,我們使用「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
}
登入後複製

範例 3

在下面的範例中,我們將 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中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板