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- နယ်ပယ်များစွာဖြင့် အုပ်စုဖွဲ့နည်း