Thuta Learning
ရှာဖွေရန်
ExercisesData & Databasesintermediate

လေ့ကျင့်ခန်း — CRUD Operations အခြေခံ

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • လေ့ကျင့်ခန်း — CRUD Operations အခြေခံ ကို ကိုယ်တိုင် လေ့ကျင့်ကြည့်မယ်
  • သင်ခဲ့ပြီးသား skill တွေကို practice လုပ်ပြီး ခိုင်မာအောင်လုပ်မယ်
  • အမှားရှာ၊ ပြင်တတ်၊ ကိုယ်တိုင် check လုပ်တတ်မယ်

ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်

ဒီလေ့ကျင့်ခန်းက 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 နမူနာ

javascript
// 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 ရေးပါ)
You should see
Task 4 ပြီးသောအခါ collection ထဲတွင် isActive: true ဖြစ်သော student document များသာ ကျန်ရှိသင့်သည်။

၅ မိနစ် စမ်းကြည့်

Task 2 ရဲ့ query ကို $gte operator သုံးပြီး age 18 ကို ပါဝင်အောင် ပြင်ရေးကြည့်ပါ — ၅ မိနစ်အတွင်း result ကွာခြားချက်ကို ကြည့်ပါ။

သတိလေးတစ်ချက်

deleteMany() ကို run လုပ်ခင် filter condition တူတူနဲ့ find() အရင်စစ်ပြီး document ဘယ်နှစ်ခု ထိမည်ကို သေချာအတည်ပြုပါ။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • deleteMany() ကို filter condition မထည့်ဘဲ run လုပ်မိပြီး collection ထဲက document အားလုံး ဖျက်မိတတ်သည်
  • age field ကို string ('19') အဖြစ် ထည့်မိပြီး $gt/$gte comparison query တွေမှာ result မှန်မှန်မထွက်တတ်သည်

အခု ကိုယ်တိုင် စမ်းကြည့်

Task 2 ရဲ့ query ကို $gte operator သုံးပြီး age 18 ကို ပါဝင်အောင် ပြင်ရေးကြည့်ပါ — ၅ မိနစ်အတွင်း result ကွာခြားချက်ကို ကြည့်ပါ။

You'll know it worked when: Task 4 ပြီးသောအခါ collection ထဲတွင် isActive: true ဖြစ်သော student document များသာ ကျန်ရှိသင့်သည်။