Mongodb- စာကြောင်းတစ်ကြောင်းရဲ့အရှည်ကို ဘယ်လိုရှာမလဲ။
MongoDB တွင် string တစ်ခု၏ အရှည်ကို ရှာဖွေရန် အောက်ပါနည်းလမ်းများကို အသုံးပြုနိုင်ပြီး queries တွင် ထို string length ကို အသုံးပြုနိုင်သည်။
နည်းလမ်း 1- ကွင်းဆက်၏အရှည်ကိုရှာပါ။
db.myCollection.aggregate([ { $project : { "name": 1, "length": { $strLenCP : " $name " } }} ])
နည်းလမ်း 2- သတ်မှတ်ထားသော အရှည်ထက် ပိုကြီးသော စာရွက်စာတမ်းများကို ရှာပါ။
db.myCollection.find({ "name": { $exists : true }, $expr : { $gt : [ { $strLenCP : " $name " }, 14 ] } })
အောက်ပါဥပမာများသည် အောက်ပါစာရွက်စာတမ်းများပါရှိသော စုစည်း အဖွဲ့ တစ်ခုနှင့် နည်းလမ်းတစ်ခုစီကို အသုံးပြုနည်းကို ပြသသည်-
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})
ဥပမာ 1- ကြိုးတစ်ချောင်း၏ အရှည်ကို ရှာဖွေခြင်း။
စာရွက်စာတမ်းတစ်ခုစီ၏ “ အမည်” အကွက်ရှိ စာကြောင်း၏အရှည်ကို တွက်ချက်ရန် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်ပါသည်။
db.teams.aggregate([ { $project : { "name": 1, "length": { $strLenCP : " $name " } }} ])
ဤကုဒ်သည် အောက်ပါရလဒ်များကို ပြန်ပေးသည်-
{ _id: ObjectId("62014eff4cb04b772fd7a93d"), name: 'Dallas Mavs', length: 11 } { _id: ObjectId("62014eff4cb04b772fd7a93e"), name: 'San Antonio Spurs', length: 17 } { _id: ObjectId("62014eff4cb04b772fd7a93f"), name: 'Houston Rockets', length: 15 } { _id: ObjectId("62014eff4cb04b772fd7a940"), name: 'Boston Celtics', length: 14 } { _id: ObjectId("62014eff4cb04b772fd7a941"), name: 'Cleveland Cavs', length: 14 }
အရှည်တန်ဖိုးသည် “ အမည်” ကော်လံရှိ စာကြောင်း၏အရှည်ကို ပြသသည်။
ဥပမာအားဖြင့်:
- “ Dallas Mavs” ကွင်းဆက်၏အရှည်မှာ 11 ဖြစ်သည်။
- ‘San Antonio Spurs’ ကွင်းဆက်၏ အရှည်မှာ 17 ဖြစ်သည်။
နောက် … ပြီးတော့။
အလျားသည် လွတ်နေသောနေရာများကိုလည်း ရေတွက်ကြောင်း သတိပြုပါ။
ဥပမာ 2- သတ်မှတ်ထားသော အရှည်ထက် ပိုကြီးသော စာရွက်စာတမ်းများကို ရှာပါ။
“ အမည်” ကော်လံရှိ စာကြောင်း 14 ထက်ကြီးသော စာရွက်စာတမ်းများကိုသာ ပြန်ပေးရန်အတွက် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်ပါသည်။
db.teams.find({ "name": { $exists : true }, $expr : { $gt : [ { $strLenCP : " $name " }, 14 ] } })
ဤမေးမြန်းချက်သည် အောက်ပါရလဒ်များကို ပြန်ပေးသည်-
{ _id: ObjectId("62014eff4cb04b772fd7a93e"), name: 'San Antonio Spurs', points: 22 } { _id: ObjectId("62014eff4cb04b772fd7a93f"), name: 'Houston Rockets', points: 19 }
ပြန်လာသောအဖွဲ့နှစ်ဖွဲ့တည်းမှာ “ အမည်” အကွက်သည် 14 ထက်ကြီးနေသူများကို သတိပြုပါ။
မှတ်ချက် – $strLenCP လုပ်ဆောင်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာတွေ့နိုင်ပါသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် MongoDB တွင် အခြားသော ဘုံလုပ်ဆောင်ချက်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
MongoDB- string တစ်ခုကို array ၏ substrings အဖြစ်သို့ ခွဲနည်း
MongoDB- အကွက်နှစ်ခု၏ စာကြောင်းများကို ပေါင်းစပ်နည်း
MongoDB- စာကြောင်းများ အစားထိုးနည်း