इस लेख में, हमारे पास एक स्टोर है और हम इसकी सामग्री को CRUD के उपयोग के लिए डेटाबेस में सहेजने जा रहे हैं। प्रक्रिया।
यदि आपको मेरे कोड के स्रोत की आवश्यकता है तो आप बेझिझक मेरे GitHub . की जांच कर सकते हैं यहां लिंक करें
सबसे पहले, हमें निम्नलिखित कोड का उपयोग करके टर्मिनल के साथ एप्लिकेशन में नेवला पैकेज स्थापित करना चाहिए:
npm install mongoose
फिर, हम सर्वर को एक्सप्रेस के माध्यम से चलाते हैं और अपने मॉडल की फाइल बनाते हैं और नीचे के रूप में कमांड लिखते हैं:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const productSchema = new Schema({
title: {
type: String,
required: true
},
price: {
type: Number,
required: true
},
description: {
type: String,
required: true
},
imageUrl: {
type: String,
required: true
}
});
module.exports = mongoose.model('Product',productSchema);
उसके बाद, नियंत्रक की फ़ाइल में, हम अपने CRUD का कोड चरण दर चरण लिखते हैं। उल्लेखनीय है कि टेम्पलेट-इंजन EJS . का उपयोग करके हम फ्रंट-एंड सेक्शन तक पहुंच पाते हैं और URL के माध्यम से आयात और पढ़ने के लिए आवश्यक डेटा का आदान-प्रदान करते हैं।
नियंत्रक फ़ाइल की शुरुआत में, हमें उत्पाद . में हमारे पूर्व-निर्धारित मॉडल की आवश्यकता होती है चर सभी कार्यों में डेटाबेस के साथ संवाद करने में सक्षम होने के लिए। यह ध्यान दिया जाना चाहिए कि मॉडल वाले वेरिएबल्स में पूंजीकरण वेब डेवलपर्स के बीच आम है, हालांकि यह अनिवार्य नहीं है।
बनाएं:
डेटाबेस में डेटा सेविंग के लिए सबसे पहले हमें प्राप्त डेटा को वेरिएबल में सेव करना चाहिए। इसके बाद, हम productData नामक एक चर परिभाषित करते हैं, और new
. का उपयोग करके आदेश हम अपने प्राप्त डेटा को अपने मॉडल (उत्पाद) में आयात करते हैं। उसके बाद, हम Async/Await
. का उपयोग करते हैं हमारे डेटा को स्टोर करने के लिए एक सेविंग कमांड लिखने का वादा करें।
exports.postAddProduct = async (req, res, next) => {
const title = req.body.title;
const imageUrl = req.body.imageUrl;
const price = req.body.price;
const description = req.body.description;
const productData = new Product({
title: title,
price: price,
description: description,
imageUrl: imageUrl
});
try {
const result = await productData.save();
res.redirect("/admin/products");
} catch (err){
console.log(err);
}
};
जब हम मॉडल में डेटा सहेज रहे होते हैं, तो पहला वेरिएबल हमारे फ़ील्ड नाम होते हैं जिन्हें हम पहले चरण में अपने मॉडल में बनाते हैं, और दूसरा वेरिएबल हमारा प्राप्त डेटा होता है यदि दोनों वेरिएबल का एक ही नाम है, तो हम वेरिएबल का नाम बस लिख सकते हैं एक बार नीचे के रूप में:
const productData = new Product({
title,
price,
description,
imageUrl
});
पढ़ें:
डेटाबेस से अपना डेटा प्राप्त करने के लिए हम find
. का उपयोग कर सकते हैं नीचे के रूप में मॉडल के चर पर आदेश:
exports.getAdminProducts = async (req, res, next) => {
try {
const products = await Product.find()
res.render("admin/products", {
pageTitle: "Admin Products",
products: products,
path: "/admin/products",
});
} catch (err) {
console.log(err);
}
};
हमारे डेटाबेस से किसी विशेष फ़ील्ड को पढ़ने के लिए हम select()
. का उपयोग कर सकते हैं हमारे डेटा लाने के लिए आदेश। जैसा कि नीचे दिए गए उदाहरण में, हमने प्रत्येक उत्पाद का केवल नाम और मूल्य पढ़ा है:
Const products = await Product.find.select(‘title price’)
अपडेट करें:
अपडेट करने के लिए, पहले, बनाने की तरह, हम अपना डेटा वेरिएबल्स में डालते हैं, फिर हमें प्राप्त आईडी का उपयोग करते हुए, जो इंगित करता है कि हम किस उत्पाद को अपडेट करना चाहते हैं, हम डेटाबेस में खोज करते हैं और अपडेट ऑपरेशन करते हैं। इस चरण के लिए, हम findByIdAndUpdate()
. का उपयोग करते हैं कमांड, जिसमें शुरुआत में हम अपनी प्राप्त आईडी इनपुट करते हैं, हम अपडेट करने के लिए पूरा डेटा लिखते हैं।
exports.postEditProduct = async (req, res, next) => {
const productId = req.body.productId;
const updatedTitle = req.body.title;
const updatedPrice = req.body.price;
const updatedImageUrl = req.body.imageUrl;
const updatedDesc = req.body.description;
try {
await Product.findByIdAndUpdate(productId, {
title: updatedTitle,
price: updatedPrice,
description: updatedDesc,
imageUrl: updatedImageUrl
});
res.redirect("/admin/products");
} catch (err) {
console.log(err)
}
};
हटाएं:
इस खंड में, सबसे पहले हम अपनी प्राप्त आईडी को productId . में डालते हैं चर, फिर findByIdAnRemove()
. के साथ आदेश हम उत्पाद को ढूंढते हैं और हटाते हैं।
exports.postDeleteProduct = async (req, res, next) => {
const productId = req.body.productId;
try {
await Product.findByIdAndRemove(productId);
res.redirect("/admin/products");
} catch (err) {
console.log(err)
}
};
इस लेख में, हमने CRUD . का वर्णन करने का प्रयास किया है NodeJS . के साथ संचालन और मोंगोडीबी विवरण में जाने के बिना, जैसे कि प्रवेश डेटा का सत्यापन।
मुझे आशा है कि यह लेख आपके लिए उपयोगी था, और यदि आपके कोई प्रश्न हैं, तो संकोच न करें और मुझसे संपर्क करें।
ईमानदारी से,
सासन देहगानियन