Mongodb- အကွက်နှစ်ခု၏ စာကြောင်းများကို ပေါင်းစပ်နည်း
MongoDB ရှိ အကွက်အသစ်တစ်ခုသို့ အကွက်နှစ်ခုမှ စာကြောင်းများကို ပေါင်းစပ်ရန် အောက်ပါအထားအသိုကို အသုံးပြုနိုင်သည်။
db.myCollection.aggregate([ { $project : { newfield: { $concat : [ " $field1 ", " - ", " $field2 " ] } } }, { $merge : "myCollection" } ])
ဤဥပမာသည် “ field1” နှင့် “ field2” တို့ကို “ newfield” ဟု အမည်ပေးထားသော အကွက်အသစ်တစ်ခုသို့ ပေါင်းစည်းပြီး myCollection ဟု အမည်ပေးထားသော စုစည်းမှုတွင် အကွက်အသစ်ကို ပေါင်းထည့်သည်။
အောက်ဖော်ပြပါ ဥပမာသည် အောက်ပါစာရွက်စာတမ်းများပါရှိသော စုစည်းမှု အဖွဲ့ နှင့် လက်တွေ့တွင် ဤ syntax ကို မည်သို့အသုံးပြုရမည်ကို ပြသသည်-
db.teams.insertOne({team: " Mavs ", conference: " Western ", points: 31}) db.teams.insertOne({team: " Spurs ", conference: " Western ", points: 22}) db.teams.insertOne({team: " Rockets ", conference: " Western ", points: 19}) db.teams.insertOne({team: " Celtics ", conference: " Eastern ", points: 26}) db.teams.insertOne({team: " Cavs ", conference: " Eastern ", points: 33}) db.teams.insertOne({team: " Nets ", conference: " Eastern ", points: 38})
ဥပမာ- MongoDB တွင် စာကြောင်းများ ပေါင်းစပ်ခြင်း။
“ အဖွဲ့” အကွက်နှင့် “ ကွန်ဖရင့်” အကွက်မှ ကြိုးများကို “ teamConf” ဟုခေါ်သော အကွက်အသစ်တစ်ခုသို့ ပေါင်းစည်းရန် အောက်ပါကုဒ်ကို အသုံးပြု၍ ဤအကွက်ကို အသင်း များစုစည်းမှုသို့ ပေါင်းထည့်နိုင်သည်-
db.teams.aggregate([ { $project : { teamConf: { $concat : [ " $team ", " - ", " $conference " ] } } }, { $merge : "teams" } ])
ဤအရာသည် ယခု အပ်ဒိတ်စုစည်းမှုပုံစံဖြစ်သည်-
{ _id: ObjectId("62013d8c4cb04b772fd7a90c"), team: 'Mavs', conference: 'Western', points: 31, teamConf: 'Mavs - Western' } { _id: ObjectId("62013d8c4cb04b772fd7a90d"), team: 'Spurs', conference: 'Western', points: 22, teamConf: 'Spurs - Western' } { _id: ObjectId("62013d8c4cb04b772fd7a90e"), team: 'Rockets', conference: 'Western', points: 19, teamConf: 'Rockets - Western' } { _id: ObjectId("62013d8c4cb04b772fd7a90f"), team: 'Celtics', conference: 'Eastern', points: 26, teamConf: 'Celtics - Eastern' } { _id: ObjectId("62013d8c4cb04b772fd7a910"), team: 'Cavs', conference: 'Eastern', points: 33, teamConf: 'Cavs - Eastern' } { _id: ObjectId("62013d8c4cb04b772fd7a911"), team: 'Nets', conference: 'Eastern', points: 38, teamConf: 'Nets - Eastern' }
စာရွက်စာတမ်းတစ်ခုစီတွင် “ teamConf” ခေါင်းစဉ်တပ်ထားသော နယ်ပယ်အသစ်တစ်ခုရှိပြီး “ team” နှင့် “ conference” အကွက်များပါဝင်သည်ကို သတိပြုပါ။
ဤဥပမာအတွက်၊ မျဉ်းကြောင်းနှစ်ခုကို ခြားနားချက်အဖြစ် တုံးတိုဖြင့် ပေါင်းစပ်ရန် ကျွန်ုပ်တို့ ရွေးချယ်ခဲ့သည်။
သို့သော်၊ ၎င်းတို့ကြားတွင် သီးခြားတန်ဖိုးများမပါဘဲ လိုင်းနှစ်ခုကို ပေါင်းစပ်ရန် ကျွန်ုပ်တို့ရွေးချယ်နိုင်သည်။
အောက်ပါကုဒ်သည် ၎င်းကိုပြုလုပ်နည်းကို ပြသသည်-
db.teams.aggregate([ { $project : { teamConf: { $concat : [ " $team ", " $conference " ] } } }, { $merge : "teams" } ])
ဤအရာသည် အပ်ဒိတ်လုပ်ထားသော စုစည်းမှုပုံစံဖြစ်လိမ့်မည်-
{ _id: ObjectId("62013d8c4cb04b772fd7a90c"), team: 'Mavs', conference: 'Western', points: 31, teamConf: 'MavsWestern' } { _id: ObjectId("62013d8c4cb04b772fd7a90d"), team: 'Spurs', conference: 'Western', points: 22, teamConf: 'SpursWestern' } { _id: ObjectId("62013d8c4cb04b772fd7a90e"), team: 'Rockets', conference: 'Western', points: 19, teamConf: 'RocketWestern' } { _id: ObjectId("62013d8c4cb04b772fd7a90f"), team: 'Celtics', conference: 'Eastern', points: 26, teamConf: 'CelticsEastern' } { _id: ObjectId("62013d8c4cb04b772fd7a910"), team: 'Cavs', conference: 'Eastern', points: 33, teamConf: 'CavsEastern' } { _id: ObjectId("62013d8c4cb04b772fd7a911"), team: 'Nets', conference: 'Eastern', points: 38, teamConf: 'NetsEastern' }
“ teamConf” ခေါင်းစဉ်တပ်ထားသော အကွက်အသစ်တွင် ၎င်းတို့ကြားတွင် ခွဲခြားမှုတန်ဖိုးမရှိဘဲ “ team” နှင့် “ conference” အကွက်များပါ၀င်ကြောင်း သတိပြုပါ။
မှတ်ချက် – $concat လုပ်ဆောင်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာဖွေနိုင်ပါသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် MongoDB တွင် အခြားသော ဘုံလုပ်ဆောင်ချက်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
MongoDB- အကွက်တွင် စာကြောင်းပါရှိမရှိ စစ်ဆေးနည်း
MongoDB- အကွက်အသစ်ထည့်နည်း
MongoDB- အကွက်တစ်ခုကို ဘယ်လိုဖျက်မလဲ။