Mongodb- အကွက်ရှိမရှိ စစ်ဆေးနည်း


MongoDB ရှိ စုစည်းမှုတစ်ခုတွင် အကွက်တစ်ခုရှိမရှိ စစ်ဆေးရန် အောက်ပါနည်းလမ်းများကို အသုံးပြုနိုင်သည်။

နည်းလမ်း 1- အကွက်ရှိမရှိ စစ်ဆေးပါ။

 db.myCollection.find({ " myField ": { $exists : true } })

ဤနည်းလမ်းသည် myCollection ဟု အမည်ပေးထားသော စုစည်းမှုတွင် “ myField” ရှိမရှိ စစ်ဆေးသည်။ သို့ဆိုလျှင်၊ ၎င်းသည် အကွက်အမည်ပါရှိသော စာရွက်စာတမ်းအားလုံးကို ပြန်ပေးသည်။ မဟုတ်ရင် ဘာမှပြန်မလာဘူး။

နည်းလမ်း 2- ထည့်သွင်းထားသော အကွက်ရှိမရှိ စစ်ဆေးပါ။

 db.myCollection.find({ " myField.embeddedField ": { $exists : true } })

ဤနည်းလမ်းသည် myCollection ဟု အမည်ပေးထားသော စုစည်းမှုတွင် အကွက်အမည် “ embeddedField” ရှိမရှိ စစ်ဆေးပေးပါသည်။ သို့ဆိုလျှင်၊ ၎င်းသည် အကွက်အမည်ပါရှိသော စာရွက်စာတမ်းအားလုံးကို ပြန်ပေးသည်။ မဟုတ်ရင် ဘာမှပြန်မလာဘူး။

အောက်ဖော်ပြပါ ဥပမာများသည် အောက်ပါစာရွက်စာတမ်းများပါရှိသော စုစည်း အဖွဲ့ တစ်ခုနှင့် လက်တွေ့တွင် နည်းလမ်းတစ်ခုစီကို အသုံးပြုနည်းကို ပြသသည်-

 db.teams.insertOne({team: "Mavs", class: {conf: "Western", div: "A"}, points: 31 })
db.teams.insertOne({team: "Spurs", class: {conf: "Western", div: "A"}, points: 22 })
db.teams.insertOne({team: "Jazz", class: {conf: "Western", div: "B"}, points: 19 })
db.teams.insertOne({team: "Celtics", class: {conf: "Eastern", div: "C"}, points: 26 })

ဥပမာ 1- အကွက်ရှိမရှိ စစ်ဆေးပါ။

အောက်ပါကုဒ်သည် အသင်း များစုစည်းမှုတွင် အကွက်အမည် “ အမှတ်များ” ရှိမရှိ စစ်ဆေးနည်းကို ပြသသည်-

 db.teams.find({ " points ": { $exists : true } })

ဤမေးမြန်းချက်သည် အောက်ပါစာရွက်စာတမ်းများကို ပြန်ပေးသည်-

 { _id: ObjectId("6203d10c1e95a9885e1e7637"),
  team: 'Mavs',
  class: { conf: 'Western', div: 'A' },
  points: 31 }
{ _id: ObjectId("6203d10c1e95a9885e1e7638"),
  team: 'Spurs',
  class: { conf: 'Western', div: 'A' },
  points: 22 }
{ _id: ObjectId("6203d10c1e95a9885e1e7639"),
  team: 'Jazz',
  class: { conf: 'Western', div: 'B' },
  points: 19 }
{ _id: ObjectId("6203d10c1e95a9885e1e763a"),
  team: 'Celtics',
  class: { conf: 'Eastern', div: 'C' },
  points: 26 }

အကွက်အမည် “ မှတ်များ” ရှိသောကြောင့်၊ အကွက် “ အမှတ်များ” ပါရှိသော စာရွက်စာတမ်းတစ်ခုစီကို ပြန်ပေးသည်။

အဖွဲ့ များစုစည်းမှုတွင် အကွက်အမည် “ ခိုးယူ” ရှိမရှိ စစ်ဆေးမည်ဆိုပါစို့။

 db.teams.find({ " steals ": { $exists : true } })

ဤအကွက်မရှိသောကြောင့်၊ အထွက်ကို ပြန်မရနိုင်ပါ။

ဥပမာ 2- ထည့်သွင်းထားသော အကွက်ရှိမရှိ စစ်ဆေးပါ။

အောက်ပါကုဒ်သည် အဖွဲ့များစုစည်းမှု ၏ “ အတန်းအစား” အကွက်တွင် ပါ၀င်သောအကွက်အမည် “ div” ရှိမရှိ စစ်ဆေးနည်းကို ပြသသည်-

 db.teams.find({ " class.div ": { $exists : true } })

ဤမေးမြန်းချက်သည် အောက်ပါစာရွက်စာတမ်းများကို ပြန်ပေးသည်-

 { _id: ObjectId("6203d10c1e95a9885e1e7637"),
  team: 'Mavs',
  class: { conf: 'Western', div: 'A' },
  points: 31 }
{ _id: ObjectId("6203d10c1e95a9885e1e7638"),
  team: 'Spurs',
  class: { conf: 'Western', div: 'A' },
  points: 22 }
{ _id: ObjectId("6203d10c1e95a9885e1e7639"),
  team: 'Jazz',
  class: { conf: 'Western', div: 'B' },
  points: 19 }
{ _id: ObjectId("6203d10c1e95a9885e1e763a"),
  team: 'Celtics',
  class: { conf: 'Eastern', div: 'C' },
  points: 26 }

မြှုပ်နှံထားသည့် အကွက် “ div” ၏ အမည်သည် အကွက် “ အတန်းအစား” တွင် ရှိနေသောကြောင့်၊ မြှုပ်သွင်းထားသည့် အကွက် “ div” ပါရှိသော စာရွက်စာတမ်းတိုင်းကို ပြန်ပေးသည်။

အဖွဲ့များစုစည်းမှု ရှိ “ အတန်း” အကွက်တွင် ထည့်သွင်းထားသော အကွက်အမည် “ ဌာနခွဲ” ရှိမရှိ စစ်ဆေးမည်ဆိုပါစို့။

 db.teams.find({ " class.division ": { $exists : true } })

ဤ built-in အကွက်မရှိသောကြောင့်၊ အထွက်ကိုပြန်မပေးပါ။

မှတ်ချက်$exists လုပ်ဆောင်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာတွေ့နိုင်ပါသည်။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် MongoDB တွင် အခြားသော ဘုံလုပ်ဆောင်ချက်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

MongoDB- အကွက်အမည်များအားလုံးကို စာရင်းပြုစုနည်း
MongoDB- အကွက်များကို အမည်ပြောင်းနည်း
MongoDB- အကွက်အသစ်ထည့်နည်း
MongoDB- အကွက်များကို ဖျက်နည်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်