Mongodb- အုပ်စုအလိုက် ပေါင်းနည်း
MongoDB တွင် အုပ်စုနှင့်ရေတွက်ရန် အောက်ပါအထားအသိုကိုသုံးနိုင်သည်။
db.collection.aggregate([ { $group : { _id : " $field_name1 ", count :{ $sum : " $field_name2 "}}} ])
field_name1 သည် သင်အုပ်စုဖွဲ့လိုသော အကွက်ဖြစ်ပြီး field_name2 သည် သင်ပေါင်းလိုသည့်အကွက်ဖြစ်သည်။
အောက်ဖော်ပြပါ ဥပမာများသည် အောက်ပါစာရွက်စာတမ်းများပါရှိသော စုစည်းမှု အဖွဲ့ နှင့်အတူ ဤအထားအသိုကို အသုံးပြုနည်းကို ပြသသည်-
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 }) db.teams.insertOne({team: " Spurs ", position: " Forward ", points: 22 }) db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 }) db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 }) db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })
ဥပမာ 1- အုပ်စုအလိုက် ပေါင်းပါ။
“အနေအထား” အကွက်ဖြင့် အုပ်စုဖွဲ့ရန်နှင့် ရာထူးတစ်ခုစီအတွက် အမှတ်ပေါင်းကို ရေတွက်ရန် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်သည်။
db.teams.aggregate([ { $group : { _id : " $position ", count :{ $sum : " $points "}}} ])
၎င်းသည် အောက်ပါရလဒ်များကို ပြန်ပေးသည်-
{ _id: ' Forward ', count: 48 } { _id: ' Guard ', count: 64 } { _id: ' Center ', count: 19 }
၎င်းသည် ကျွန်ုပ်တို့အား ပြောပြသည်-
- “ တိုက်ခိုက်သူ” အနေအထားရှိကစားသမားများသည် စုစုပေါင်း 48 မှတ်ရှိသည်။
- “ အစောင့်” ရာထူးရှိသော ကစားသမားများသည် စုစုပေါင်း 64 မှတ်ရှိသည်။
- “ဗဟို” အနေအထားရှိ ကစားသမားများသည် စုစုပေါင်း 19 မှတ်ရှိသည်။
ဥပမာ 2- အုပ်စုအလိုက် ပေါင်းထည့်ပါ (ထို့နောက် အမျိုးအစားခွဲပါ)
ရာထူးတစ်ခုစီအတွက် အမှတ်ပေါင်းကို ရှာဖွေရန်နှင့် ရလဒ်များကို ကြီးလိုက် ကြီးလိုက် အလိုအလျောက်စီရန် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်သည်။
db.teams.aggregate([ { $group : { _id : " $position ", count :{ $sum : " $points "}}}, { $sort : { count : 1}} ])
၎င်းသည် အောက်ပါရလဒ်များကို ပြန်ပေးသည်-
{ _id: ' Center ', count: 19 } { _id: ' Forward ', count: 48 } { _id: ' Guard ', count: 64 }
ရလဒ်များကို ကြီးလိုက်ကြီးလိုက် (အသေးဆုံးမှ အကြီးဆုံးအထိ) အမှတ်များဖြင့် စီထားသည်။
ရလဒ်များကို ကြီးစဉ်ငယ်လိုက် စီရန် -1 ကို ရေတွက်ခြင်း အငြင်းအခုံတွင် သုံးနိုင်သည်။
db.teams.aggregate([ { $group : { _id : " $position ", count :{ $sum : " $points "}}}, { $sort : { count :-1}} ])
၎င်းသည် အောက်ပါရလဒ်များကို ပြန်ပေးသည်-
{ _id: ' Guard ', count: 64 } { _id: ' Forward ', count: 48 } { _id: ' Center ', count: 19 }
ရလဒ်များကို ကြီးစဉ်ငယ်လိုက် အမှတ်များဖြင့် စီထားသည် (အကြီးဆုံးမှ အငယ်ဆုံး) ကို သတိပြုပါ။
မှတ်ချက် – $group အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာနိုင်သည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် MongoDB တွင် အခြားသော ဘုံလုပ်ဆောင်ချက်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
MongoDB- အကွက်တစ်ခုတွင် ကွဲပြားသောတန်ဖိုးများကို ရေတွက်နည်း
MongoDB- နယ်ပယ်များစွာဖြင့် အုပ်စုဖွဲ့နည်း
MongoDB- အုပ်စုဖွဲ့ပြီး ရေတွက်နည်း