Mongodb တွင် ထပ်တူများရှာနည်း


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

 db.collection.aggregate([
    {" $group ": { "_id": " $field1 ", "count": { " $sum ": 1 } } },
    {" $match ": {"_id" :{ " $ne " : null } , "count" : {" $gt ": 1} } }, 
    {" $project ": {"name": " $_id ", "_id": 0} }
])

ဤအရာသည် ဤ syntax လုပ်ဆောင်သည်-

  • အကွက် 1 တွင် တူညီသောတန်ဖိုးဖြင့် စာရွက်စာတမ်းအားလုံးကို အုပ်စုဖွဲ့ပါ။
  • စာရွက်စာတမ်းတစ်ခုထက်ပိုသော အုပ်စုများကို ယှဉ်တွဲပါ။
  • စာရွက်စာတမ်းတစ်ခုထက်ပိုသော အဖွဲ့အားလုံးကို ပရောဂျက်လုပ်ပါ။

ဤအထူးစုံစမ်းမေးမြန်းချက်သည် field1 ကော်လံရှိ ထပ်နေသောတန်ဖိုးများကို ရှာဖွေသည်။ ရှာဖွေရန် အကွက်ကို ပြောင်းလဲရန် ဤတန်ဖိုးကို ရိုးရှင်းစွာ တည်းဖြတ်ပါ။

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

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Rockets ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

ဥပမာ- တန်ဖိုးများ ထပ်နေသည့် စာရွက်စာတမ်းများကို ရှာပါ။

“ အဖွဲ့” ကော်လံရှိ ထပ်နေသည့်တန်ဖိုးများအားလုံးကို ရှာဖွေရန် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်ပါသည်။

 db.teams.aggregate([
    {" $group ": { "_id": " $team ", "count": { " $sum ": 1 } } },
    {" $match ": {"_id" :{ " $ne " : null } , "count" : {" $gt ": 1} } }, 
    {" $project ": {"name": " $_id ", "_id": 0} }
])

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

 { name: 'Rockets' }
{ name: 'Mavs' }

၎င်းသည် “ Rockets” နှင့် “ Mavs” တန်ဖိုးများသည် “ team” အကွက်တွင် အကြိမ်များစွာ ပေါ်လာကြောင်း ကျွန်ုပ်တို့ကိုပြောပြသည်။

“ ရာထူး” အကွက်တွင် ထပ်နေသောတန်ဖိုးများကို ရှာရန် $ team နှင့် ရိုးရိုးရှင်းရှင်း အစားထိုးနိုင်သည်ကို သတိပြုပါ-

 db.teams.aggregate([
    {" $group ": { "_id": " $position ", "count": { " $sum ": 1 } } },
    {" $match ": {"_id" :{ " $ne " : null } , "count" : {" $gt ": 1} } }, 
    {" $project ": {"name": " $_id ", "_id": 0} }
])

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

 { name: 'Guard' }

၎င်းသည် “အစောင့်” သည် “ရာထူး” အကွက်တွင် အကြိမ်များစွာ ပေါ်လာကြောင်း ကျွန်ုပ်တို့အား ပြောပြသည်။

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

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

MongoDB- အစုအဝေးတစ်ခုသို့ အကွက်အသစ်တစ်ခုထည့်နည်း
MongoDB- အုပ်စုဖွဲ့ပြီး ရေတွက်နည်း
MongoDB- နယ်ပယ်များစွာဖြင့် အုပ်စုဖွဲ့နည်း

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

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