Dalam tutorial ini, kita akan belajar mencipta id menggunakan mongoose dalam JavaScript. Pengguna boleh menggunakan pakej Mongoose NPM dalam NodeJS untuk menggunakan MongoDB dengan NodeJS atau menyambung MongoDB dengan aplikasi.
Apabila menyimpan data dalam pangkalan data MongoDB, kita mesti menambah id unik pada setiap pengumpulan data. Walau bagaimanapun, jika kami tidak menambah id, ia dijana secara automatik dan ditambahkan pada data.
Pengguna boleh membuat id menggunakan mongoose dalam JavaScript mengikut sintaks berikut.
var newId = new mongoose.mongo.ObjectId();
Dalam sintaks di atas, kami mengakses "mongo" daripada mongoose dan memanggil kaedah "ObjectId()" untuk menjana id baharu.
Dalam contoh di bawah, kami menyambungkan MongoDB dengan NodeJS. Walau bagaimanapun, pengguna perlu menukar butiran akaun mereka. Selepas itu, kami mencipta corak Mongoose. Menggunakan seni bina ini, kami mencipta model Mongoose.
Objek data mengandungi data yang akan disimpan ke dalam pangkalan data MongoDB. Selepas itu, kami menyimpan pengumpulan data ke dalam MongoDB menggunakan kaedah save(). Jika data berjaya disimpan, hasilnya akan dicetak. Dalam output, pengguna boleh memerhati id data.
Kami tidak memberikan sebarang id kepada data, jadi ia dijana secara automatik.
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); });
Apabila dilaksanakan, ia akan menghasilkan output berikut -
$ node index.js Connected to database { name: 'Delhi', type: 'city', _id: new ObjectId("642b937407844923e4fddee7"), __v: 0 }
Dalam contoh di bawah, kami menggunakan kaedah "mongo.ObjectId()" untuk menjana id bagi data. Selepas itu kami mencetak id yang dihasilkan dalam konsol. Seterusnya, kami menyimpan data dengan memberikan id yang baru dijana.
Dalam output, pengguna dapat melihat bahawa id data adalah sama dengan id yang kami hasilkan.
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); });
Apabila dilaksanakan, ia akan menghasilkan output berikut -
$ node index.js new ObjectId("642b9796987428b8b945f477") Connected to database { name: 'Gujarat', type: 'state', _id: new ObjectId("642b9796987428b8b945f477"), __v: 0 }
Dalam contoh di bawah, kami menghantar rentetan 12-bait sebagai parameter kepada kaedah ObjectId(). Ia menjana id baharu berdasarkan nilai yang diluluskan sebagai hujah. Walau bagaimanapun, pengguna juga boleh menghantar 24 aksara heksadesimal sebagai parameter.
Dalam output, pengguna boleh memerhati 24 aksara heksadesimal untuk 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); });
Apabila dilaksanakan, ia akan menghasilkan output berikut -
$ node index.js Connected to database { name: 'Lokesh', type: 'name', _id: new ObjectId("323334353536353637313233"), __v: 0 }
Pengguna belajar menjana id rawak dalam MongoDb. Selain itu, pengguna belajar untuk menjana ID khusus untuk data MongoDB dengan menghantar rentetan 12 bait atau 24 aksara perenambelasan sebagai parameter kepada kaedah ObjectId().
Atas ialah kandungan terperinci Bagaimana untuk membuat id menggunakan mongoose dalam Javascript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!