Node.js MongoDB Update

MongoDB இல் ஆவணங்களை புதுப்பிக்க கற்றுக்கொள்ளுங்கள்

ஆவணத்தை புதுப்பித்தல்

நீங்கள் ஒரு பதிவை, அல்லது MongoDB இல் அழைக்கப்படும் விதமாக ஒரு ஆவணத்தை, updateOne() முறையைப் பயன்படுத்தி புதுப்பிக்கலாம்.

updateOne() முறையின் முதல் அளவுரு எந்த ஆவணத்தை புதுப்பிக்க வேண்டும் என வரையறுக்கும் ஒரு வினா பொருள்.

⚠️ குறிப்பு:

வினா ஒன்றுக்கு மேற்பட்ட பதிவுகளைக் கண்டால், முதல் நிகழ்வு மட்டுமே புதுப்பிக்கப்படும்.

இரண்டாவது அளவுரு ஆவணத்தின் புதிய மதிப்புகளை வரையறுக்கும் ஒரு பொருள்.

எடுத்துக்காட்டு

முகவரி "Valley 345" உள்ள ஆவணத்தை name="Mickey" மற்றும் address="Canyon 123" ஆக புதுப்பிக்கவும்:

let MongoClient = require('mongodb').MongoClient;
let url = "mongodb://127.0.0.1:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  let dbo = db.db("mydb");
  let myquery = { address: "Valley 345" };
  let 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" என்ற கோப்பில் சேமித்து கோப்பை இயக்கவும்:

C:\Users\Your Name>node demo_update_one.js

இது உங்களுக்கு இந்த முடிவைக் கொடுக்கும்:

1 document updated

குறிப்பிட்ட புலங்களை மட்டும் புதுப்பித்தல்

$set ஆபரேட்டரைப் பயன்படுத்தும் போது, குறிப்பிடப்பட்ட புலங்கள் மட்டுமே புதுப்பிக்கப்படும்:

எடுத்துக்காட்டு

முகவரியை "Valley 345" இலிருந்து "Canyon 123" ஆக புதுப்பிக்கவும்:

...
  let myquery = { address: "Valley 345" };
  let newvalues = { $set: { address: "Canyon 123" } };
  dbo.collection("customers").updateOne(myquery, newvalues, function(err, res) {
...

பல ஆவணங்களை புதுப்பித்தல்

வினாவின் அடிப்படையில் பொருந்தும் அனைத்து ஆவணங்களையும் புதுப்பிக்க, updateMany() முறையைப் பயன்படுத்தவும்.

எடுத்துக்காட்டு

பெயர் "S" என்ற எழுத்துடன் தொடங்கும் அனைத்து ஆவணங்களையும் புதுப்பிக்கவும்:

let MongoClient = require('mongodb').MongoClient;
let url = "mongodb://127.0.0.1:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  let dbo = db.db("mydb");
  let myquery = { address: /^S/ };
  let 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" என்ற கோப்பில் சேமித்து கோப்பை இயக்கவும்:

C:\Users\Your Name>node demo_update_many.js

இது உங்களுக்கு இந்த முடிவைக் கொடுக்கும்:

2 document(s) updated

முடிவு பொருள்

updateOne() மற்றும் updateMany() முறைகள் ஒரு பொருளைத் தருகின்றன, இது இயக்கம் தரவுத்தளத்தை எவ்வாறு பாதித்தது என்பதைப் பற்றிய தகவல்களைக் கொண்டுள்ளது.

பெரும்பாலான தகவல்களைப் புரிந்துகொள்வது முக்கியமல்ல, ஆனால் பொருளின் உள்ளே உள்ள ஒரு பொருள் "result" என்று அழைக்கப்படுகிறது, இது இயக்கம் சரியாக நடந்ததா, மற்றும் எத்தனை ஆவணங்கள் பாதிக்கப்பட்டன என்பதை நமக்குச் சொல்கிறது.

முடிவு பொருள் இப்படித் தெரிகிறது:

{ n: 1, nModified: 2, ok: 1 }

புதுப்பிக்கப்பட்ட ஆவணங்களின் எண்ணிக்கையைத் திரும்பப் பெற இந்த பொருளைப் பயன்படுத்தலாம்:

எடுத்துக்காட்டு

புதுப்பிக்கப்பட்ட ஆவணங்களின் எண்ணிக்கையைத் திரும்பப் பெறவும்:

console.log(res.result.nModified);

இது இந்த முடிவை உருவாக்கும்:

2

பயிற்சி

MongoDB இல் ஒரு ஆவணத்தை புதுப்பிக்க, முதல் பொருந்தும் ஆவணத்தை புதுப்பிக்க ______ முறையைப் பயன்படுத்தவும்.

modifyOne()
✗ தவறு! "modifyOne()" என்பது MongoDB இல் ஒரு செல்லுபடியாகும் முறை அல்ல
changeOne()
✗ தவறு! "changeOne()" என்பது MongoDB இல் ஒரு செல்லுபடியாகும் முறை அல்ல
updateOne()
✓ சரி! "updateOne()" முறை MongoDB இல் முதல் பொருந்தும் ஆவணத்தை புதுப்பிக்க பயன்படும் சரியான முறையாகும்
editOne()
✗ தவறு! "editOne()" என்பது MongoDB இல் ஒரு செல்லுபடியாகும் முறை அல்ல