ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်
ဒီလေ့ကျင့်ခန်းက Basic chapter မှာ လေ့လာခဲ့တဲ့ insert, find, update, delete operations တွေကို အသစ်ဘာမှ မသင်ဘဲ လက်ရှိသိထားတဲ့ knowledge ကို practice လုပ်ဖို့ ရည်ရွယ်ထားပါတယ်။ Task အားလုံးကို students collection တစ်ခုတည်းပေါ်မှာ လုပ်ဆောင်ပါမည်။ Query filter, update operators, delete method များကို ကိုယ်ပိုင် ဖြေရှင်းကြည့်ခြင်းအားဖြင့် syntax ကို ပိုမိုကျွမ်းကျင်စေပါလိမ့်မယ်။
လေ့ကျင့်ခန်းများ
Task 1: students collection အသစ်တစ်ခုကို ဖန်တီးပြီး name, age, grade, isActive field ပါဝင်တဲ့ student document ၄ ခုကို insertMany() ဖြင့် ထည့်ပါ။ Task 2: age 18 အထက်ဖြစ်တဲ့ student များကိုသာ find() ဖြင့် ရှာပါ။ Task 3: student တစ်ဦးရဲ့ grade ကို updateOne() ဖြင့် ပြောင်းလဲပါ။ Task 4: isActive: false ဖြစ်တဲ့ student document များကို deleteMany() ဖြင့် ဖျက်ပါ။
Code နမူနာ
// Task 1: sample data insert လုပ်ပါ
db.students.insertMany([
{ name: "Aye Aye", age: 19, grade: "A", isActive: true },
{ name: "Ko Ko", age: 17, grade: "B", isActive: true },
{ name: "Su Su", age: 21, grade: "C", isActive: false },
{ name: "Min Min", age: 16, grade: "B", isActive: false }
])
// Task 2: age > 18 student များကို ရှာပါ (ဒီနေရာမှာ query ရေးပါ)
// Task 3: student တစ်ဦးရဲ့ grade ကို updateOne() ဖြင့် ပြောင်းပါ (ဒီနေရာမှာ update ရေးပါ)
// Task 4: isActive: false ဖြစ်သော student များကို deleteMany() ဖြင့် ဖျက်ပါ (ဒီနေရာမှာ delete ရေးပါ)Task 4 ပြီးသောအခါ collection ထဲတွင် isActive: true ဖြစ်သော student document များသာ ကျန်ရှိသင့်သည်။၅ မိနစ် စမ်းကြည့်
Task 2 ရဲ့ query ကို $gte operator သုံးပြီး age 18 ကို ပါဝင်အောင် ပြင်ရေးကြည့်ပါ — ၅ မိနစ်အတွင်း result ကွာခြားချက်ကို ကြည့်ပါ။
သတိလေးတစ်ချက်
deleteMany() ကို run လုပ်ခင် filter condition တူတူနဲ့ find() အရင်စစ်ပြီး document ဘယ်နှစ်ခု ထိမည်ကို သေချာအတည်ပြုပါ။