Node.js MongoDB အပ် ဒိတ်
စာရွက်စာတမ်းကို အပ်ဒိတ်လုပ်ပါ။
updateOne()
နည်းလမ်းကို အသုံးပြု၍ MongoDB တွင် မှတ်တမ်းတစ်ခု သို့မဟုတ် စာရွက်စာတမ်းကို အပ်ဒိတ်လုပ်နိုင်သည် ။
နည်းလမ်း ၏ ပထမဘောင် updateOne()
သည် မည်သည့်စာရွက်စာတမ်းကို အပ်ဒိတ်လုပ်ရန် သတ်မှတ်သည့် query object တစ်ခုဖြစ်သည်။
မှတ်ချက်- မေးမြန်းမှုတွင် မှတ်တမ်းတစ်ခုထက်ပို၍ တွေ့ရှိပါက၊ ပထမအကြိမ်အဖြစ်သာ အပ်ဒိတ်လုပ်မည်ဖြစ်သည်။
ဒုတိယဘောင်သည် စာရွက်စာတမ်း၏ တန်ဖိုးအသစ်များကို သတ်မှတ်ပေးသည့် အရာတစ်ခုဖြစ်သည်။
ဥပမာ
စာရွက်စာတမ်းကို name="Mickey" နှင့် address="Canyon 123" သို့ "Valley 345" လိပ်စာဖြင့် အပ်ဒိတ်လုပ်ပါ။
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
၊ သတ်မှတ်ထားသောအကွက်များကိုသာ အပ်ဒိတ်လုပ်သည်-
ဥပမာ
"Valley 345" မှ "Canyon 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