Node.js MongoDB अद्यतन
दस्तावेज़ अपडेट करें
updateOne()
आप विधि का उपयोग करके एक रिकॉर्ड, या दस्तावेज़ को अपडेट कर सकते हैं, जैसा कि MongoDB में कहा जाता है ।
विधि का पहला पैरामीटर updateOne()
एक क्वेरी ऑब्जेक्ट है जो परिभाषित करता है कि किस दस्तावेज़ को अपडेट करना है।
नोट: यदि क्वेरी को एक से अधिक रिकॉर्ड मिलते हैं, तो केवल पहली घटना को ही अपडेट किया जाता है।
दूसरा पैरामीटर दस्तावेज़ के नए मूल्यों को परिभाषित करने वाली वस्तु है।
उदाहरण
"वैली 345" पते के साथ दस्तावेज़ को नाम = "मिकी" और पता = "कैन्यन 123" में अपडेट करें:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://127.0.0.1:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var myquery = { address: "Valley 345" };
var newvalues = {
$set: {name:
"Mickey", address: "Canyon 123" } };
dbo.collection("customers").updateOne(myquery,
newvalues, function(err, res) {
if (err) throw err;
console.log("1 document updated");
db.close();
});
});
उपरोक्त कोड को "demo_update_one.js" नामक फ़ाइल में सहेजें और फ़ाइल चलाएँ:
"demo_update_one.js" चलाएँ
C:\Users\Your Name>node demo_update_one.js
जो आपको यह परिणाम देगा:
1 document updated
केवल विशिष्ट फ़ील्ड अपडेट करें
ऑपरेटर का उपयोग करते समय $set
, केवल निर्दिष्ट फ़ील्ड अपडेट की जाती हैं:
उदाहरण
"घाटी 345" से "कैन्यन 123" के पते को अपडेट करें:
...
var myquery = { address: "Valley 345" };
var newvalues
= { $set: { address: "Canyon 123" } };
dbo.collection("customers").updateOne(myquery,
newvalues, function(err, res) {
...
कई दस्तावेज़ अपडेट करें
क्वेरी के मानदंड को पूरा करने वाले सभी दस्तावेज़ों को अद्यतन करने के लिए, updateMany()
विधि का उपयोग करें।
उदाहरण
उन सभी दस्तावेज़ों को अपडेट करें जहाँ नाम "S" अक्षर से शुरू होता है:
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://127.0.0.1:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("mydb");
var myquery = { address: /^S/ };
var newvalues = {$set: {name:
"Minnie"} };
dbo.collection("customers").updateMany(myquery, newvalues, function(err,
res) {
if (err) throw err;
console.log(res.result.nModified + " document(s) updated");
db.close();
});
});
उपरोक्त कोड को "demo_update_many.js" नामक फ़ाइल में सहेजें और फ़ाइल चलाएँ:
"demo_update_many.js" चलाएँ
C:\Users\Your Name>node demo_update_many.js
जो आपको यह परिणाम देगा:
2 document(s) updated
परिणाम वस्तु
और विधियाँ एक वस्तु लौटाती हैं जिसमें इस बारे में जानकारी होती है कि निष्पादन ने डेटाबेस को कैसे प्रभावित किया updateOne()
।
updateMany()
अधिकांश जानकारी को समझना महत्वपूर्ण नहीं है, लेकिन वस्तु के अंदर एक वस्तु को "परिणाम" कहा जाता है जो हमें बताता है कि क्या निष्पादन ठीक रहा, और कितने दस्तावेज़ प्रभावित हुए।
परिणाम वस्तु इस तरह दिखती है:
{ n: 1, nModified: 2, ok: 1 }
अद्यतन किए गए दस्तावेज़ों की संख्या वापस करने के लिए आप इस ऑब्जेक्ट का उपयोग कर सकते हैं:
उदाहरण
अद्यतन दस्तावेज़ों की संख्या लौटाएँ:
console.log(res.result.nModified);
जो इस परिणाम का उत्पादन करेगा:
2