MongoDB ကိုမစတင်ခင် သိလိုသည့်အချက် 14 ချက်

ဆောင်းပါး၏ဘာသာပြန်ကို သင်တန်းစသည့်နေ့တွင် ပြင်ဆင်ခဲ့ပါသည်။ "ဆက်စပ်မှုမရှိသောဒေတာဘေ့စ်များ".

MongoDB ကိုမစတင်ခင် သိလိုသည့်အချက် 14 ချက်

ပေါ်လွင်ချက်များ:

  • MongoDB တွင် စိတ်ကြိုက်ရွေးချယ်နိုင်သော်လည်း schema ရေးဆွဲရန် အလွန်အရေးကြီးပါသည်။
  • အလားတူ၊ အညွှန်းများသည် သင့်အစီအစဉ်နှင့် အသုံးပြုခွင့်ပုံစံများနှင့် ကိုက်ညီရပါမည်။
  • ကြီးမားသော အရာဝတ္ထုများနှင့် ကြီးမားသော အခင်းအကျင်းများကို အသုံးပြုခြင်းမှ ရှောင်ကြဉ်ပါ။
  • လုံခြုံရေးနှင့် ယုံကြည်စိတ်ချရမှုဆိုင်ရာ အထူးသဖြင့် MongoDB ဆက်တင်များကို သတိထားပါ။
  • MongoDB တွင် query optimizer မပါသောကြောင့် query operations များလုပ်ဆောင်ရာတွင် သတိထားရပါမည်။

ကျွန်ုပ်သည် ဒေတာဘေ့စ်များနှင့် အလုပ်လုပ်နေသည်မှာ ကြာမြင့်နေပြီဖြစ်သော်လည်း မကြာသေးမီကမှ MongoDB ကို ရှာဖွေတွေ့ရှိခဲ့သည်။ အလုပ်မစခင်မှာ သိစေချင်တဲ့ အချက်တစ်ချို့ရှိပါတယ်။ လူတစ်ဦးသည် နယ်ပယ်တစ်ခုတွင် အတွေ့အကြုံရှိနေပြီဆိုလျှင်၊ ၎င်းတို့သည် ဒေတာဘေ့စ်များ မည်ကဲ့သို့ လုပ်ဆောင်သည်နှင့် ၎င်းတို့လုပ်ဆောင်ပုံနှင့် ပတ်သက်၍ ကြိုတင်တွေးခေါ်မှုများ ရှိနေသည်။ သူများတွေ နားလည်လွယ်အောင်လို့ မျှော်လင့်ပြီး ဖြစ်တတ်တဲ့ အမှားတွေ စာရင်းကို တင်ပြလိုက်ရပါတယ်။

စစ်မှန်ကြောင်းအထောက်အထားမရှိဘဲ MongoDB ဆာဗာကိုဖန်တီးခြင်း။

ကံမကောင်းစွာဖြင့်၊ MongoDB ကို မူရင်းအတိုင်း စစ်မှန်ကြောင်းအထောက်အထားမရှိဘဲ ထည့်သွင်းထားသည်။ စက်တွင်းသုံး အလုပ်ရုံတစ်ခုအတွက်၊ ဤအလေ့အကျင့်သည် ပုံမှန်ဖြစ်သည်။ MongoDB သည် မန်မိုရီအမြောက်အမြားအသုံးပြုခြင်းကို နှစ်သက်သော Multi-user system တစ်ခုဖြစ်သောကြောင့်၊ သင်သည် ၎င်းကို ဖွံ့ဖြိုးတိုးတက်ရန်အတွက်သာ အသုံးပြုမည်ဆိုပါက ၎င်းကို တတ်နိုင်သမျှ RAM ရှိသော ဆာဗာပေါ်တွင် တင်ထားလျှင် ပိုကောင်းမည်ဖြစ်သည်။ default port မှတစ်ဆင့် ဆာဗာပေါ်တွင် ထည့်သွင်းခြင်းသည် ပြဿနာရှိနိုင်သည်၊ အထူးသဖြင့် တောင်းဆိုချက်တွင် မည်သည့် javascript ကုဒ်ကိုမဆို လုပ်ဆောင်နိုင်သည် (ဥပမာ၊ $where စိတ်ကူးတစ်ခုအနေနဲ့ ထိုးဆေး).

အထောက်အထားစိစစ်ခြင်းနည်းလမ်းများစွာရှိသော်လည်း အလွယ်ဆုံးမှာ အသုံးပြုသူ ID/စကားဝှက်ကို သတ်မှတ်ရန်ဖြစ်သည်။ ဖန်စီစစ်မှန်ကြောင်းကို အခြေခံ၍ ဖန်စီစစ်မှန်ကြောင်းကို သင်စဉ်းစားနေချိန်တွင် ဤစိတ်ကူးကို အသုံးပြုပါ။ LDAP. လုံခြုံရေးနှင့်ပတ်သက်လာလျှင် MongoDB သည် အဆက်မပြတ် အပ်ဒိတ်လုပ်ထားသင့်ပြီး မှတ်တမ်းများကို ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်ခွင့်အတွက် အမြဲစစ်ဆေးသင့်သည်။ ဥပမာအားဖြင့်၊ default port အဖြစ် မတူညီသော port တစ်ခုကို ရွေးလိုပါသည်။

သင်၏တိုက်ခိုက်မှုမျက်နှာပြင်ကို MongoDB နှင့် ချိတ်ရန်မမေ့ပါနှင့်

MongoDB လုံခြုံရေးစစ်ဆေးမှုစာရင်း ကွန်ရက်ဝင်ရောက်မှုနှင့် ဒေတာယိုစိမ့်မှုအန္တရာယ်ကို လျှော့ချရန် အကြံပြုချက်ကောင်းများ ပါရှိသည်။ ၎င်းကို ဖယ်ရှားရန် လွယ်ကူပြီး ဖွံ့ဖြိုးတိုးတက်မှုဆာဗာသည် လုံခြုံရေးအဆင့်မြင့်ရန် မလိုအပ်ကြောင်း ပြောရန် လွယ်ကူသည်။ သို့သော်၊ ၎င်းသည် ရိုးရှင်းသည်မဟုတ်ပါ၊ ၎င်းသည် MongoDB ဆာဗာများအားလုံးနှင့် သက်ဆိုင်ပါသည်။ အထူးသဖြင့်၊ အသုံးပြုရန် ခိုင်လုံသောအကြောင်းပြချက်မရှိလျှင် mapReduce, group သို့မဟုတ် $ဘယ်မှာလဲ။configuration file တွင်ရေးသားခြင်းဖြင့် JavaScript တွင် မထင်မှတ်သောကုဒ်အသုံးပြုမှုကို သင်ပိတ်ထားရန် လိုအပ်သည်။ javascriptEnabled:false. ဒေတာဖိုင်များကို ပုံမှန် MongoDB တွင် ကုဒ်ဝှက်မထားသောကြောင့် MongoDB ဖြင့် လုပ်ဆောင်ခြင်းသည် အဓိပ္ပာယ်ရှိပေသည်။ သီးသန့်အသုံးပြုသူဖိုင်များသို့ အပြည့်အဝဝင်ရောက်ခွင့်ရှိသော၊ ၎င်းတွင်သာ အကန့်အသတ်ဖြင့်ဝင်ရောက်ခွင့်နှင့် လည်ပတ်မှုစနစ်၏ကိုယ်ပိုင်ဖိုင်ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုများကို အသုံးပြုနိုင်သည်။

ဆားကစ်ကို တည်ဆောက်နေစဉ် အမှားအယွင်းရှိသည်။

MongoDB သည် schema ကိုမသုံးပါ။ ဒါပေမယ့် ဒီအစီအစဉ်ကို မလိုအပ်ဘူးလို့ မဆိုလိုပါဘူး။ ကိုက်ညီသောပုံစံမရှိဘဲ စာရွက်စာတမ်းများကိုသာ သိမ်းဆည်းလိုပါက ၎င်းတို့ကို သိမ်းဆည်းရန် မြန်ဆန်လွယ်ကူသော်လည်း ၎င်းတို့ကို နောက်ပိုင်းတွင် ပြန်လည်ရယူရန် ခက်ခဲနိုင်သည်။ ရင်ထဲက ခက်တယ်။.

ဂန္တဝင်ဆောင်းပါး "MongoDB Schema ဒီဇိုင်းအတွက် လက်မ 6 စည်းမျဉ်း" ဖတ်ရှုရကျိုးနပ်ပြီး အသွင်အပြင်များ ကြိုက်နှစ်သက်ပါသည်။ Schema Explorer Third-party tool Studio 3T တွင်၊ ၎င်းသည် ဆားကစ်များကို ပုံမှန်စစ်ဆေးခြင်းအတွက် အသုံးပြုရကျိုးနပ်သည်။

အမျိုးအစားခွဲရန် မမေ့ပါနှင့်

စီစဥ်မှု အစီအစဉ်ကို မေ့လျော့ခြင်းသည် အခြားမှားယွင်းသော ဖွဲ့စည်းမှုစနစ်များထက် အချိန်ပို၍ စိတ်ပျက်စေနိုင်သည်။ မူရင်းအားဖြင့် MongoBD ကို အသုံးပြုသည်။ binary အမျိုးအစား. ဒါပေမယ့် ဘယ်သူ့အတွက်မှ အသုံးမဝင်ပါဘူး။ ဖြစ်ရပ်မှန်၊ လေယူလေသိမ်း-အထိခိုက်မခံသော၊ ဒွိအမျိုးအစားများကို လွန်ခဲ့သည့်ရာစုနှစ် 80 တွင် ပုတီးစေ့များ၊ caftans နှင့် curly နှုတ်ခမ်းမွှေးများနှင့်အတူ စပ်စုသော anachronism များကို ထည့်သွင်းစဉ်းစားခဲ့သည်။ အခု သူတို့ရဲ့ အသုံးပြုမှုက ခွင့်မလွှတ်နိုင်စရာပါပဲ။ လက်တွေ့ဘဝတွင် "မော်တော်ဆိုင်ကယ်" သည် "မော်တော်ဆိုင်ကယ်" နှင့်အတူတူပင်။ "ဗြိတိန်" နှင့် "ဗြိတိန်" သည်တူညီသောနေရာဖြစ်သည်။ စာလုံးအသေးသည် ရိုးရိုးစာလုံးကြီးနှင့် ညီမျှသည်။ ပြီးတော့ diacritic တွေကို အမျိုးအစားခွဲခြင်းမှာ ငါ့ကို မစလိုက်ပါနဲ့။ MongoDB တွင် ဒေတာဘေ့စ်တစ်ခုဖန်တီးသောအခါ၊ accent-insensitive collation ကိုသုံးပါ။ မှတ်ပုံတင်ဘာသာစကားနှင့် ကိုက်ညီသော၊ စနစ်အသုံးပြုသူယဉ်ကျေးမှု. ၎င်းသည် string data မှတဆင့်ရှာဖွေခြင်းကိုပိုမိုလွယ်ကူစေသည်။

ကြီးမားသောစာရွက်စာတမ်းများဖြင့် စုစည်းမှုများကို ဖန်တီးပါ။

MongoDB သည် စုစည်းမှုတွင် 16MB အထိ ကြီးမားသော စာရွက်စာတမ်းများကို လက်ခံကျင်းပရန် ပျော်ရွှင်ပါသည်။ GridFS 16 MB ထက်ကြီးသော စာရွက်စာတမ်းများအတွက် ဒီဇိုင်းထုတ်ထားသည်။ ဒါပေမယ့် စာရွက်စာတမ်းကြီးတွေကို အဲဒီနေရာမှာ ထားနိုင်တာကြောင့် အဲဒါတွေကို သိမ်းထားဖို့ စိတ်ကူးကောင်းတော့ မဟုတ်ပါဘူး။ MongoDB သည် ကျယ်ပြန့်သော SQL Table တွင် အတန်းများကဲ့သို့ ကီလိုဘိုက်အနည်းငယ်ရှိသော စာရွက်စာတမ်းများကို သိမ်းဆည်းပါက အကောင်းဆုံးလုပ်ဆောင်နိုင်မည်ဖြစ်သည်။ ကြီးမားသောစာရွက်စာတမ်းများနှင့်အတူပြဿနာများ၏အရင်းအမြစ်ဖြစ်လိမ့်မည်။ ကုန်ထုတ်စွမ်းအား.

ကြီးမားသော အခင်းအကျင်းများဖြင့် စာရွက်စာတမ်းများကို ဖန်တီးခြင်း။

စာရွက်စာတမ်းများတွင် အခင်းအကျင်းများ ပါဝင်နိုင်သည်။ array အတွင်းရှိ element အရေအတွက်သည် ဂဏန်းလေးလုံးဂဏန်းနှင့် ဝေးနေပါက အကောင်းဆုံးဖြစ်သည်။ ဒြပ်စင်များကို array တစ်ခုသို့ မကြာခဏ ပေါင်းထည့်ပါက၊ ၎င်းတွင် ပါရှိသော စာရွက်စာတမ်းကို ပိုမိုကြီးထွားစေပြီး ဖြစ်ရန် လိုအပ်မည်ဖြစ်သည်။ လှုပ်ရှားဆိုလိုတာက လိုအပ်ပါလိမ့်မယ်။ အညွှန်းကိန်းများကိုလည်း အပ်ဒိတ်လုပ်ပါ။. ကြီးမားသော array ဖြင့် စာရွက်စာတမ်းတစ်ခုအား ပြန်လည်အညွှန်းပြုလုပ်သည့်အခါ၊ အညွှန်းကိန်းများသည် မကြာခဏဆိုသလို overwrite လုပ်မည်၊ မှတ်တမ်းတင်၎င်း၏ အညွှန်းကို သိမ်းဆည်းပေးသော၊ စာရွက်စာတမ်းတစ်ခုကို ထည့်သွင်းခြင်း သို့မဟုတ် ဖျက်လိုက်သည့်အခါတွင်လည်း ဤပြန်လည်ညွှန်းကိန်းသည် ဖြစ်ပေါ်ပါသည်။

MongoDB ဟုခေါ်သောအရာတစ်ခုရှိသည်။ "ဖြည့်စွက်အချက်"ဤပြဿနာကို လျှော့ချရန် စာရွက်စာတမ်းများ ကြီးထွားလာရန် နေရာပေးသည်။
array indexing မပါဘဲ သင်လုပ်နိုင်သည်ဟု သင်ထင်နိုင်သည်။ ကံမကောင်းစွာဖြင့်၊ အညွှန်းများမရှိခြင်းသည် သင့်အား အခြားပြဿနာများဖြစ်စေနိုင်သည်။ စာရွက်စာတမ်းများကို အစမှ အဆုံးစကင်န်ဖတ်ပြီးဖြစ်သောကြောင့် array ၏အဆုံးတွင် အစိတ်အပိုင်းများကိုရှာဖွေခြင်းသည် ပိုကြာမည်ဖြစ်ပြီး၊ ထိုစာရွက်စာတမ်းနှင့်ဆက်စပ်သည့် လုပ်ဆောင်မှုအများစုသည် ဖြစ်လိမ့်မည်။ နှေးနှေး.

စုစည်းမှုတစ်ခုရှိ အဆင့်များ၏ အစီအစဥ်သည် အရေးကြီးကြောင်း မမေ့ပါနှင့်

query optimizer ပါရှိသော ဒေတာဘေ့စ်စနစ်တွင်၊ သင်ရေးသော queries များသည် သင်ရယူလိုသောအရာကို မည်သို့ရယူရမည်ကိုမဟုတ်ဘဲ ရှင်းလင်းချက်ဖြစ်သည်။ ဤယန္တရားသည် စားသောက်ဆိုင်တွင် မှာယူခြင်းနှင့် ယှဉ်တွဲလုပ်ဆောင်သည်- အများအားဖြင့် သင်သည် ဟင်းတစ်မျိုးကို ရိုးရှင်းစွာ မှာယူလေ့ရှိပြီး ချက်ပြုတ်သူအား အသေးစိတ် ညွှန်ကြားချက်များ မပေးတတ်ပါ။

MongoDB တွင် သင်သည် ထမင်းချက်သူကို ညွှန်ကြားသည်။ ဥပမာအားဖြင့်၊ သင်သည်ဒေတာဖြတ်သန်းကြောင်းသေချာစေရန်လိုအပ်သည်။ reduce ပိုက်လိုင်းကို တတ်နိုင်သမျှ စောစော သုံးပြီး $match и $projectပြီးမှသာလျှင် အမျိုးအစားခွဲသည်။ reduceနှင့် ရှာဖွေမှုသည် သင်အလိုရှိသည့်အတိုင်း အတိအကျဖြစ်သွားသည်။ မလိုအပ်သောအလုပ်များကို ဖယ်ရှားပေးသော၊ အဆင့်များကို စဉ်ဆက်မပြတ်ပြုလုပ်ပေးသော၊ နှင့် Join အမျိုးအစားများကို ရွေးချယ်ထားသော အမျိုးအစားများကို ရွေးချယ်ထားသော မလိုအပ်သောအလုပ်များကို ဖယ်ရှားပေးမည့် query optimizer တစ်ခုရှိခြင်းက သင့်ကို ထိခိုက်စေနိုင်ပါသည်။ MongoDB ဖြင့်၊ အဆင်ပြေသောကုန်ကျစရိတ်ဖြင့် သင်ပိုမိုထိန်းချုပ်နိုင်သည်။

တူရိယာများ Studio 3T စုစည်းမှုမေးခွန်းများ တည်ဆောက်မှုကို ရိုးရှင်းစေမည်ဖြစ်သည်။ MongoDB. Aggregation Editor အင်္ဂါရပ်သည် သင့်အား ပိုက်လိုင်းထုတ်ပြန်ချက်များကို တစ်ကြိမ်လျှင် အဆင့်တစ်ခုတွင် အသုံးပြုရန်နှင့် အမှားရှာပြင်ခြင်းကို ရိုးရှင်းစေရန် အဆင့်တစ်ခုစီတွင် ထည့်သွင်းခြင်းနှင့် အထွက်ဒေတာများကို စစ်ဆေးခွင့်ပြုသည်။

Quick Recording ကို အသုံးပြုခြင်း။

MongoDB တွင် မြန်နှုန်းမြင့်သော်လည်း ယုံကြည်စိတ်ချရမှုနည်းစေရန် MongoDB ရေးရန်ရွေးချယ်မှုများကို ဘယ်တော့မှ မသတ်မှတ်ပါ။ ဒီမုဒ် "ဖိုင်နဲ့-မေ့" စာမရေးခင်မှာ command က မြန်နေပုံရတယ်။ ဒေတာကို ဒစ်ခ်သို့မရေးမီ စနစ်ပျက်သွားပါက၊ ၎င်းသည် ပျောက်ဆုံးသွားပြီး မကိုက်ညီသည့် အခြေအနေတွင် အဆုံးသတ်သွားမည်ဖြစ်သည်။ ကံကောင်းစွာဖြင့်၊ 64-bit MongoDB တွင် မှတ်တမ်းဖွင့်ထားသည်။

MMAPv1 နှင့် WiredTiger သိုလှောင်မှုအင်ဂျင်များသည် WiredTiger သည် နောက်ဆုံးတစ်သမတ်တည်းသို့ ပြန်လည်ရောက်ရှိနိုင်သော်လည်း ၎င်းကိုကာကွယ်ရန် မှတ်တမ်းကိုအသုံးပြုသည်။ ထိန်းချုပ်မှုအမှတ်လော့ဂ်အင်ကို ပိတ်ထားပါက၊

Journaling သည် ပြန်လည်ရယူပြီးနောက် ဒေတာဘေ့စ်သည် တသမတ်တည်းဖြစ်နေကြောင်း သေချာစေပြီး ၎င်းကို မှတ်တမ်းသို့မရေးမချင်း ဒေတာအားလုံးကို ထိန်းသိမ်းထားသည်။ မှတ်တမ်းတင်ခြင်း၏ ကြိမ်နှုန်းကို ကန့်သတ်ဘောင်ကို အသုံးပြု၍ စီစဉ်သတ်မှတ်ထားသည်။ commitIntervalMs.

ထည့်သွင်းမှုများကို သေချာစေရန်၊ configuration file တွင် loggging ကိုဖွင့်ထားကြောင်း သေချာပါစေ။ (storage.journal.enabled)နှင့် အသံသွင်းသည့်အကြိမ်ရေသည် သင်ဆုံးရှုံးနိုင်သော အချက်အလက်ပမာဏနှင့် ကိုက်ညီပါသည်။

အညွှန်းမပါဘဲ စီခြင်း

ရှာဖွေခြင်းနှင့် ပေါင်းစည်းသောအခါတွင် ဒေတာကို စီရန် လိုအပ်သည်။ ဒေတာပမာဏကို လျှော့ချရန်အတွက် ရလဒ်ကို စစ်ထုတ်ပြီးနောက် ၎င်းကို နောက်ဆုံးအဆင့်များထဲမှ တစ်ခုပြီးမြောက်စေရန် မျှော်လင့်ကြပါစို့။ ဤကိစ္စတွင်ပင်၊ အမျိုးအစားခွဲရန်သင်လိုအပ်လိမ့်မည်။ အညွှန်းကိန်း. တစ်ခုတည်း သို့မဟုတ် ဒြပ်ပေါင်းအညွှန်းကို သင်သုံးနိုင်သည်။

သင့်လျော်သောအညွှန်းမရှိပါက MongoDB သည် ၎င်းမပါဘဲလုပ်ဆောင်လိမ့်မည်။ စာရွက်စာတမ်းအားလုံး၏ စုစုပေါင်းအရွယ်အစားတွင် မမ်မိုရီကန့်သတ်ချက် 32 MB ရှိသည်။ အမျိုးအစားခွဲခြင်းလုပ်ငန်းများနှင့် MongoDB သည် ဤကန့်သတ်ချက်ကို ကျော်လွန်ပါက၊ ၎င်းသည် အမှားတစ်ခု သို့မဟုတ် ပြန်သွားလိမ့်မည်။ မှတ်တမ်းအလွတ်.

အညွှန်းပံ့ပိုးမှုမပါဘဲရှာပါ။

ရှာဖွေမှုမေးခွန်းများသည် SQL ရှိ JOIN လုပ်ဆောင်ချက်နှင့် ဆင်တူသည့် လုပ်ဆောင်ချက်ကို လုပ်ဆောင်သည်။ အကောင်းဆုံးလုပ်ဆောင်ရန်၊ နိုင်ငံခြားသော့အဖြစ်အသုံးပြုသောကီး၏တန်ဖိုးအညွှန်းကိန်းလိုအပ်သည်။ အသုံးပြုမှုတွင် ထင်ဟပ်ခြင်းမရှိသောကြောင့် ယင်းသည် ထင်ရှားခြင်းမရှိပါ။ explain(). ထိုသို့သော အညွှန်းများသည် ရေးထားသော အညွှန်းများအပြင်၊ explain()ပိုက်လိုင်းအော်ပရေတာများမှအသုံးပြုသည်။ $match и $sortပိုက်လိုင်းရဲ့အစမှာဆုံမိရင်၊ အညွှန်းများသည် မည်သည့်အဆင့်ကိုမဆို လွှမ်းခြုံနိုင်ပါပြီ။ ပေါင်းစည်းပိုက်လိုင်း.

အပ်ဒိတ်များစွာကို အသုံးပြုခြင်းမှ ဖယ်ထုတ်ခြင်း

နည်းလမ်း db.collection.update() သင်သတ်မှတ်ထားသော ကန့်သတ်ဘောင်အပေါ်မူတည်၍ ရှိပြီးသားစာရွက်စာတမ်းတစ်ခု သို့မဟုတ် စာရွက်စာတမ်းတစ်ခုလုံးကို ပြီးပြည့်စုံသော အစားထိုးမှုအထိ ပြောင်းလဲရန် အသုံးပြုသည်။ update. ရွေးချယ်ခွင့်ကို သင်မသတ်မှတ်ထားပါက စုစည်းမှုအတွင်းရှိ စာရွက်စာတမ်းအားလုံးကို ရှင်းရှင်းလင်းလင်းမသိသာသောအရာဖြစ်သည်။ multi တောင်းဆိုချက်သတ်မှတ်ချက်များနှင့် ကိုက်ညီသော စာရွက်စာတမ်းအားလုံးကို အပ်ဒိတ်လုပ်ရန်။

hash table ရှိ သော့များ၏ အစီအစဥ်၏ အရေးကြီးပုံကို မမေ့ပါနှင့်

JSON တွင်၊ အရာဝတ္ထုတစ်ခုတွင် အမည်သည် string တစ်ခုဖြစ်ပြီး တန်ဖိုးသည် string၊ နံပါတ်၊ boolean၊ null၊ object သို့မဟုတ် array ဖြစ်သည်။

ကံမကောင်းစွာပဲ၊ BSON သည် ရှာဖွေသည့်အခါ အမှာစာအပေါ် အလေးပေးသည်။ MongoDB တွင်၊ built-in အရာဝတ္ထုများအတွင်းရှိသော့များ၏အစီအစဥ် ကိစ္စရပ်များ, IE { firstname: "Phil", surname: "factor" } - ဒါက မတူပါဘူး။ { { surname: "factor", firstname: "Phil" }. ဆိုလိုသည်မှာ၊ သင်သည် ၎င်းတို့ကို ရှာတွေ့ရန် သေချာလိုပါက သင်၏စာရွက်စာတမ်းများတွင် အမည်/တန်ဖိုးအတွဲများ၏ အစီအစဥ်ကို သိမ်းဆည်းထားရပါမည်။

မရောထွေးပါနဲ့။ "အလွတ်" и "သတ်မှတ်မထားဘူး"

အဘိုး "သတ်မှတ်မထားဘူး" အဆိုအရ JSON တွင် ဘယ်တော့မှ တရားဝင်မည်မဟုတ်ပါ။ တရားဝင်စံ JSON (ECMA-404 အပိုင်း 5) ကို JavaScript တွင်အသုံးပြုသော်လည်း၊ ထို့အပြင် BSON အတွက် ၎င်းသည် အသုံးမပြုတော့ဘဲ အဖြစ်သို့ ပြောင်းလဲသွားပါသည်။ $nullအမြဲတမ်း ကောင်းမွန်တဲ့ အဖြေတစ်ခုတော့ မဟုတ်ပါဘူး။ ရှောင်ပါ။ "သတ်မှတ်မထားဘူး" MongoDB တွင်.

၏အသုံးပြုမှု $limit() မပါဘဲ $sort()

သင် MongoDB တွင် မကြာခဏ တီထွင်နေသည့်အခါ၊ query သို့မဟုတ် စုစည်းမှုမှ ပြန်ပေးမည့် ရလဒ်နမူနာကို မြင်ရုံဖြင့် အသုံးဝင်ပါသည်။ ဤတာဝန်အတွက်သင်လိုအပ်လိမ့်မည်။ $limit()ဒါပေမယ့် သင်အရင်က အသုံးမပြုရင် နောက်ဆုံးကုဒ်ထဲမှာ ဘယ်တော့မှ မဖြစ်သင့်ပါဘူး။ $sort. မဟုတ်ပါက သင်သည် ရလဒ်၏အစီအစဥ်ကို အာမမခံနိုင်သောကြောင့် ဤစက်ပြင်ရန် လိုအပ်ပြီး ဒေတာကို စိတ်ချယုံကြည်စွာ ကြည့်ရှုနိုင်မည်မဟုတ်ပါ။ ရလဒ်၏ထိပ်တွင် အမျိုးအစားခွဲမှုပေါ်မူတည်၍ မတူညီသော entry များကို သင်ရရှိမည်ဖြစ်သည်။ ယုံကြည်စိတ်ချစွာ လုပ်ဆောင်နိုင်ရန်၊ မေးမြန်းမှုများနှင့် စုစည်းမှုများကို အဆုံးအဖြတ်ပေးရမည်၊ ဆိုလိုသည်မှာ ၎င်းတို့ကို လုပ်ဆောင်သည့်အခါတိုင်း တူညီသောရလဒ်များကို ထုတ်ပေးပါသည်။ ပါဝင်သောကုဒ် $limit()ဒါပေမယ့် မဟုတ်ဘူး။ $sort၊ အဆုံးအဖြတ်ပေးမည်မဟုတ်သည့်အပြင် ခြေရာခံရန်ခက်ခဲမည့် အမှားအယွင်းများကို နောက်ဆက်တွဲဖြစ်စေနိုင်သည်။

ကောက်ချက်

MongoDB ကို စိတ်ပျက်စေမည့် တစ်ခုတည်းသောနည်းလမ်းမှာ ၎င်းကို DBMS ကဲ့သို့သော အခြားဒေတာဘေ့စ်အမျိုးအစားနှင့် တိုက်ရိုက်နှိုင်းယှဉ်ရန် သို့မဟုတ် အချို့သောမျှော်လင့်ချက်များအပေါ်အခြေခံ၍ ၎င်းကိုအသုံးပြုလာရန်ဖြစ်သည်။ လိမ္မော်သီးကို ခက်ရင်းခွတစ်ခုနှင့် နှိုင်းယှဉ်ရသလိုပင်။ ဒေတာဘေ့စ်စနစ်များသည် သီးခြားရည်ရွယ်ချက်များကို ဆောင်ရွက်ပေးသည်။ ဤကွဲပြားမှုများကို သင်ကိုယ်တိုင် နားလည်သဘောပေါက်ပြီး တန်ဖိုးထားခြင်းသည် အကောင်းဆုံးဖြစ်သည်။ MongoDB developer များအား DBMS လမ်းကြောင်းကို တွန်းပို့သောလမ်းကြောင်းတစ်ခုမှ ဖိအားပေးခြင်းသည် ရှက်စရာဖြစ်လိမ့်မည်။ ဒေတာခိုင်မာမှုရှိစေရန်နှင့် ချို့ယွင်းမှုနှင့် အန္တရာယ်ရှိသော တိုက်ခိုက်မှုများကို ခံနိုင်ရည်ရှိသော ဒေတာစနစ်များ ဖန်တီးခြင်းကဲ့သို့သော ပြဿနာဟောင်းများကို ဖြေရှင်းရန် စိတ်ဝင်စားစရာကောင်းသော နည်းလမ်းအသစ်များကို ကျွန်ုပ်မြင်လိုပါသည်။

MongoDB ၏ ဗားရှင်း 4.0 တွင် ACID အရောင်းအ၀ယ်လုပ်ဆောင်နိုင်မှုကို မိတ်ဆက်ခြင်းသည် အရေးကြီးသောတိုးတက်မှုများကို ဆန်းသစ်သောနည်းလမ်းဖြင့် မိတ်ဆက်ခြင်း၏ နမူနာကောင်းတစ်ခုဖြစ်သည်။ စာရွက်စာတမ်းပေါင်းစုံနှင့် ကြေညာချက်ပေါင်းများစွာ အရောင်းအ၀ယ်များသည် ယခုအခါ အနုမြူဗုံးဖြစ်သည်။ သော့ခလောက်များရယူရန် လိုအပ်သည့်အချိန်ကို ချိန်ညှိနိုင်ပြီး ပိတ်နေသော အရောင်းအ၀ယ်များကို ရပ်စဲနိုင်သည့်အပြင် သီးခြားခွဲထားမှုအဆင့်ကို ပြောင်းလဲနိုင်သည်။

MongoDB ကိုမစတင်ခင် သိလိုသည့်အချက် 14 ချက်

ပိုပြီးဖတ်ပါ:

source: www.habr.com

မှတ်ချက် Add