Node.js
Node.JS और MongoDB।
खोज…
टिप्पणियों
ये नोडज के साथ मोंगो डीबी का उपयोग करने के लिए मूल सीआरयूडी ऑपरेशन हैं।
प्रश्न: क्या अन्य तरीके हैं जो आप यहाँ कर सकते हैं ??
उत्तर: हां, ऐसा करने के कई तरीके हैं।
प्रश्न: आम का उपयोग करना आवश्यक है ??
उत्तर: नहीं। अन्य पैकेज उपलब्ध हैं जो आपकी मदद कर सकते हैं।
प्रश्न: मुझे मोंगोसे के पूर्ण दस्तावेज कहां मिल सकते हैं ??
उत्तर: यहां क्लिक करें
किसी डेटाबेस से कनेक्ट करना
नोड एप्लिकेशन से एक मोंगो डेटाबेस से कनेक्ट करने के लिए हमें मोंगो की आवश्यकता होती है।
Mongoose इंस्टॉल करना अपने ऐप्लिकेशन के टोट पर जाएं और इसके द्वारा mongoose इंस्टॉल करें
npm install mongoose
आगे हम डेटाबेस से जुड़ते हैं।
var mongoose = require('mongoose');
//connect to the test database running on default mongod port of localhost
mongoose.connect('mongodb://localhost/test');
//Connecting with custom credentials
mongoose.connect('mongodb://USER:PASSWORD@HOST:PORT/DATABASE');
//Using Pool Size to define the number of connections opening
//Also you can use a call back function for error handling
mongoose.connect('mongodb://localhost:27017/consumers',
{server: { poolSize: 50 }},
function(err) {
if(err) {
console.log('error in this')
console.log(err);
// Do whatever to handle the error
} else {
console.log('Connected to the database');
}
});
नया संग्रह बनाना
Mongoose के साथ, सब कुछ एक स्कीमा से लिया गया है। एक स्कीमा बनाने की सुविधा देता है।
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var AutoSchema = new Schema({
name : String,
countOf: Number,
});
// defining the document structure
// by default the collection created in the db would be the first parameter we use (or the plural of it)
module.exports = mongoose.model('Auto', AutoSchema);
// we can over write it and define the collection name by specifying that in the third parameters.
module.exports = mongoose.model('Auto', AutoSchema, 'collectionName');
// We can also define methods in the models.
AutoSchema.methods.speak = function () {
var greeting = this.name
? "Hello this is " + this.name+ " and I have counts of "+ this.countOf
: "I don't have a name";
console.log(greeting);
}
mongoose.model('Auto', AutoSchema, 'collectionName');
याद रखें कि इसे ऊपर किए गए तरीके से mongoose.model () के साथ संकलित करने से पहले स्कीमा में जोड़ा जाना चाहिए।
दस्तावेज़ सम्मिलित करना
संग्रह में एक नया दस्तावेज़ सम्मिलित करने के लिए, हम स्कीमा का एक ऑब्जेक्ट बनाते हैं।
var Auto = require('models/auto')
var autoObj = new Auto({
name: "NewName",
countOf: 10
});
हम इसे निम्नलिखित की तरह सहेजते हैं
autoObj.save(function(err, insertedAuto) {
if (err) return console.error(err);
insertedAuto.speak();
// output: Hello this is NewName and I have counts of 10
});
यह संग्रह में एक नया दस्तावेज़ सम्मिलित करेगा
पढ़ना
संग्रह से डेटा पढ़ना बहुत आसान है। संग्रह का सभी डेटा प्राप्त करना।
var Auto = require('models/auto')
Auto.find({}, function (err, autos) {
if (err) return console.error(err);
// will return a json array of all the documents in the collection
console.log(autos);
})
एक शर्त के साथ डेटा पढ़ना
Auto.find({countOf: {$gte: 5}}, function (err, autos) {
if (err) return console.error(err);
// will return a json array of all the documents in the collection whose count is greater than 5
console.log(autos);
})
आप दूसरे पैरामीटर को भी निर्दिष्ट कर सकते हैं कि आपको किन क्षेत्रों की आवश्यकता है
Auto.find({},{name:1}, function (err, autos) {
if (err) return console.error(err);
// will return a json array of name field of all the documents in the collection
console.log(autos);
})
एक संग्रह में एक दस्तावेज़ ढूँढना।
Auto.findOne({name:"newName"}, function (err, auto) {
if (err) return console.error(err);
//will return the first object of the document whose name is "newName"
console.log(auto);
})
आईडी द्वारा संग्रह में एक दस्तावेज़ खोजना।
Auto.findById(123, function (err, auto) {
if (err) return console.error(err);
//will return the first json object of the document whose id is 123
console.log(auto);
})
अद्यतन कर रहा है
संग्रह और दस्तावेजों को अद्यतन करने के लिए हम इनमें से किसी भी तरीके का उपयोग कर सकते हैं:
तरीके
- अपडेट करें()
- updateOne ()
- updateMany ()
- replaceOne ()
अपडेट करें()
अद्यतन () विधि एक या कई दस्तावेजों को संशोधित करती है (अद्यतन पैरामीटर)
db.lights.update(
{ room: "Bedroom" },
{ status: "On" }
)
यह ऑपरेशन एक दस्तावेज के लिए 'रोशनी' संग्रह को खोजता है जहां room
बेडरूम (1 पैरामीटर) है । इसके बाद यह मिलान दस्तावेजों की status
संपत्ति को (2 वें पैरामीटर) पर अद्यतन करता है और इस तरह दिखता है एक WriteResult ऑब्जेक्ट देता है:
{ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }
UpdateOne
UpdateOne () विधि एक दस्तावेज़ (अद्यतन मापदंडों) को संशोधित करती है
db.countries.update(
{ country: "Sweden" },
{ capital: "Stockholm" }
)
यह ऑपरेशन एक दस्तावेज के लिए 'देशों' के संग्रह की खोज करता है जहां country
स्वीडन (1 पैरामीटर) है । यह तब स्टॉकहोम (2 वें पैरामीटर) के लिए मिलान दस्तावेज़ संपत्ति की capital
को अद्यतन करता है और इस तरह दिखता है एक WriteResult ऑब्जेक्ट देता है:
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
UpdateMany
UpdateMany () विधि बहु दस्तावेज़ (अद्यतन मापदंडों) को संशोधित करती है
db.food.updateMany(
{ sold: { $lt: 10 } },
{ $set: { sold: 55 } }
)
यह ऑपरेशन सभी दस्तावेजों (एक 'भोजन' संग्रह में) को अद्यतन करता है, जहां sold
55 से sold
10 * (1 पैरामीटर) से कम है । इसके बाद यह इस तरह दिखता है एक WriteResult ऑब्जेक्ट देता है:
{ "acknowledged" : true, "matchedCount" : a, "modifiedCount" : b }
a = मिलान किए गए दस्तावेजों की संख्या
बी = संशोधित दस्तावेजों की संख्या
ReplaceOne
पहले मिलान दस्तावेज़ (प्रतिस्थापन दस्तावेज़) की जगह
देशों नामक इस उदाहरण संग्रह में 3 दस्तावेज़ हैं:
{ "_id" : 1, "country" : "Sweden" }
{ "_id" : 2, "country" : "Norway" }
{ "_id" : 3, "country" : "Spain" }
निम्नलिखित ऑपरेशन दस्तावेज़ को प्रतिस्थापित करता है { country: "Spain" }
दस्तावेज़ के साथ { country: "Finland" }
db.countries.replaceOne(
{ country: "Spain" },
{ country: "Finland" }
)
और रिटर्न:
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
उदाहरण संग्रह देशों में अब शामिल हैं:
{ "_id" : 1, "country" : "Sweden" }
{ "_id" : 2, "country" : "Norway" }
{ "_id" : 3, "country" : "Finland" }
हटाया जा रहा है
मानगो में संग्रह से दस्तावेजों को हटाना निम्नलिखित तरीके से किया जाता है।
Auto.remove({_id:123}, function(err, result){
if (err) return console.error(err);
console.log(result); // this will specify the mongo default delete result.
});