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- အကွက်တစ်ခုကို ဘယ်လိုဖျက်မလဲ။

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

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