Mongodb- string တစ်ခုကို array ၏ substrings အဖြစ်သို့ ခွဲနည်း


MongoDB ရှိ စာကြောင်းခွဲတစ်ခု၏ အခင်းအကျင်းတစ်ခုသို့ ခွဲရန် အောက်ပါအထားအသိုကို အသုံးပြုနိုင်သည်။

 db.myCollection.aggregate([
  { $project : { split_field: { $split : [ " $field1 ", " " ] } } },
  { $merge : "myCollection" }
])

ဤဥပမာသည် ကွက်လပ်များကို အခြေခံ၍ string “ field1” ကို “ split_field” ဟု အမည်ပေးထားသော အကွက်အသစ်သို့ ပိုင်းခြားပြီး myCollection ဟု အမည်ပေးထားသော စုစည်းမှုသို့ အကွက်အသစ်ကို ပေါင်းထည့်သည်။

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

 db.teams.insertOne({name: " Dallas Mavs ", points: 31})
db.teams.insertOne({name: " San Antonio Spurs ", points: 22})
db.teams.insertOne({name: " Houston Rockets ", points: 19})
db.teams.insertOne({name: " Boston Celtics ", points: 26})
db.teams.insertOne({name: " Cleveland Cavs ", points: 33})

ဥပမာ- MongoDB ရှိ ကြိုးတန်းခွဲတစ်ခုသို့ ခွဲလိုက်ပါ။

ကျွန်ုပ်တို့သည် “ အမည်” ကော်လံရှိ string ကို string of array အဖြစ်ခွဲပြီး teams collection ရှိ “ split_name” အမည်ရှိ အကွက်အသစ်တွင် ရလဒ်များကို ပြသရန် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်ပါသည်။

 db.teams.aggregate([
  { $project : { split_name: { $split : [ " $name ", " " ] } } },
  { $merge : "teams" }
])

ဤအရာသည် ယခု အပ်ဒိတ်စုစည်းမှုပုံစံဖြစ်သည်-

 { _id: ObjectId("62014a924cb04b772fd7a938"),
  name: 'Dallas Mavs',
  points: 31,
  split_name: ['Dallas', 'Mavs'] }
{ _id: ObjectId("62014a924cb04b772fd7a939"),
  name: 'San Antonio Spurs',
  points: 22,
  split_name: ['San', 'Antonio', 'Spurs'] }
{ _id: ObjectId("62014a924cb04b772fd7a93a"),
  name: 'Houston Rockets',
  points: 19,
  split_name: ['Houston', 'Rockets'] }
{ _id: ObjectId("62014a924cb04b772fd7a93b"),
  name: 'Boston Celtics',
  points: 26,
  split_name: ['Boston', 'Celtics'] }
{ _id: ObjectId("62014a924cb04b772fd7a93c"),
  name: 'Cleveland Cavs',
  points: 33,
  split_name: ['Cleveland', 'Cavs'] }

စာရွက်စာတမ်းတစ်ခုစီတွင် “ name” အကွက်၏ အခင်းအကျင်းများပါရှိသော “ split_name” ဟုခေါ်သော အကွက်အသစ်တစ်ခု ပါရှိသည်ကို သတိပြုပါ။

ဤဥပမာအတွက်၊ ကျွန်ုပ်တို့သည် ကွက်လပ်ကို ကန့်သတ်ချက်အဖြစ် အသုံးပြု၍ မူရင်းစာကြောင်းကို ပိုင်းခြားရန် ရွေးချယ်ခဲ့သည်။

အကယ်၍ စာကြောင်းကို မတူညီသော အနားသတ်မျဉ်းတစ်ခုဖြင့် ပိုင်းခြားထားပါက (မျဉ်းတန်း၊ မျဥ်းစောင်း၊ ကော်လံ စသည်ဖြင့်) ကို $split လုပ်ဆောင်ချက်တွင် အသုံးပြုပါ။

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

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

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

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

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

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