{"id":95148,"date":"2020-09-25T19:43:09","date_gmt":"2020-09-25T17:43:09","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/14-veshhej-kotorye-ya-hotel-by-znat-pered-nachalom-raboty-s-mongodb"},"modified":"2020-09-25T19:43:09","modified_gmt":"2020-09-25T17:43:09","slug":"14-veshhej-kotorye-ya-hotel-by-znat-pered-nachalom-raboty-s-mongodb","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/14-veshhej-kotorye-ya-hotel-by-znat-pered-nachalom-raboty-s-mongodb","title":{"rendered":"14 gj\u00ebra q\u00eb do doja t\u00eb dija para se t\u00eb filloja t\u00eb punoja me MongoDB","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>P\u00ebrkthimi i artikullit \u00ebsht\u00eb p\u00ebrgatitur n\u00eb prag t\u00eb fillimit t\u00eb kursit <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/ZRL1\/\">\u00abBaza t\u00eb dh\u00ebnash jo-relacionale\u00bb<\/a><\/noindex>.<\/i><\/b><\/p>\n<p><img decoding=\"async\" alt=\"14 gj\u00ebra q\u00eb do doja t\u00eb dija para se t\u00eb filloja t\u00eb punoja me MongoDB\" src=\"\/wp-content\/uploads\/2020\/09\/9b4979be27e0090543b28150d90fa8df.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Pikat kryesore:<\/p>\n<ul>\n<li>\u00cbsht\u00eb jasht\u00ebzakonisht e r\u00ebnd\u00ebsishme t\u00eb zhvilloni nj\u00eb skem\u00eb, ndon\u00ebse n\u00eb MongoDB ajo nuk \u00ebsht\u00eb e detyrueshme.<\/li>\n<li>Po ashtu, indekset duhet t\u00eb p\u00ebrputhen me skem\u00ebn tuaj dhe modelet e aksesit. <\/li>\n<li>Kujdesuni p\u00ebr p\u00ebrdorimin e objekteve t\u00eb m\u00ebdha dhe array-eve t\u00eb m\u00ebdha.<\/li>\n<li>Jini t\u00eb kujdessh\u00ebm me konfigurimet e MongoDB, ve\u00e7an\u00ebrisht kur b\u00ebhet fjal\u00eb p\u00ebr sigurin\u00eb dhe besueshm\u00ebrin\u00eb.<\/li>\n<li>N\u00eb MongoDB nuk ka optimizues k\u00ebrkimesh, prandaj duhet t\u00eb jeni t\u00eb kujdessh\u00ebm gjat\u00eb ekzekutimit t\u00eb operacioneve t\u00eb k\u00ebrkimit.<\/li>\n<\/ul>\n<p>\nKam punuar me baza t\u00eb dh\u00ebnash p\u00ebr shum\u00eb koh\u00eb, por vet\u00ebm s\u00eb fundmi zbulova MongoDB. Ka disa gj\u00ebra q\u00eb do doja t\u00eb dija para se t\u00eb filloja t\u00eb punoja me t\u00eb. Kur nj\u00eb person ka p\u00ebrvoj\u00eb n\u00eb nj\u00eb fush\u00eb t\u00eb caktuar, ai krijon nj\u00eb ide paraprake p\u00ebr at\u00eb q\u00eb jan\u00eb bazat e t\u00eb dh\u00ebnave dhe \u00e7far\u00eb b\u00ebjn\u00eb ato. N\u00eb shpres\u00eb p\u00ebr t\u00eb leht\u00ebsuar kuptimin p\u00ebr t\u00eb tjer\u00ebt, po paraqes nj\u00eb list\u00eb t\u00eb gabimeve t\u00eb zakonshme.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Krijimi i nj\u00eb serveri MongoDB pa autentifikim<\/h3>\n<p>\nFatkeq, MongoDB n\u00eb m\u00ebnyr\u00eb default instalohet pa autentifikim. P\u00ebr nj\u00eb punonj\u00ebs q\u00eb aksesin e tij e krijon lokal, kjo praktik\u00eb \u00ebsht\u00eb e pranueshme. Por, duke qen\u00eb se MongoDB \u00ebsht\u00eb nj\u00eb sistem me shum\u00eb p\u00ebrdorues q\u00eb k\u00ebrkon shum\u00eb memorie, do t\u00eb ishte m\u00eb mir\u00eb ta instaloni at\u00eb n\u00eb nj\u00eb server me sa m\u00eb shum\u00eb memorie RAM n\u00eb kushtet tuaja, edhe n\u00ebse e keni vet\u00ebm p\u00ebr zhvillim. Instalimi n\u00eb server p\u00ebrmes portit default mund t\u00eb jet\u00eb problematik, ve\u00e7an\u00ebrisht n\u00ebse k\u00ebrkesa mund t\u00eb ekzekutoj\u00eb ndonj\u00eb kod n\u00eb javascript (p.sh., <code>$where<\/code> si nj\u00eb ide p\u00ebr <noindex><a rel=\"nofollow\" href=\"https:\/\/lockmedown.com\/securing-node-js-mongodb-security-injection-attacks\/\">injeksionit<\/a><\/noindex>). <\/p>\n<p>Ka disa metoda autentifikimi, por m\u00ebnyra m\u00eb e leht\u00eb \u00ebsht\u00eb t\u00eb vendosni ID\/n\u00eb password p\u00ebr p\u00ebrdoruesin. P\u00ebrdorni k\u00ebt\u00eb ide derisa t\u00eb mendoni p\u00ebr autentifikimin m\u00eb t\u00eb sofistikuar t\u00eb bazuar n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/security-ldap-external\/\">LDAP<\/a><\/noindex>. Kur flasim p\u00ebr sigurin\u00eb, MongoDB duhet t\u00eb p\u00ebrdit\u00ebsohet vazhdimisht dhe log-et duhet t\u00eb kontrollohen gjithmon\u00eb p\u00ebr akses t\u00eb paautorizuar. P\u00ebr shembull, m\u00eb p\u00eblqen t\u00eb zgjedh nj\u00eb port tjet\u00ebr si portin default.<\/p>\n<h3>Mos harroni t\u00eb lidhni sip\u00ebrfaqen e sulmit me MongoDB<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/administration\/security-checklist\/\">Lista e kontrollit p\u00ebr sigurimin e MongoDB<\/a><\/noindex> p\u00ebrmban k\u00ebshilla t\u00eb mira p\u00ebr t\u00eb zvog\u00ebluar rrezikun e dep\u00ebrtimit n\u00eb rrjet dhe rrjedhjes s\u00eb t\u00eb dh\u00ebnave. \u00cbsht\u00eb e leht\u00eb t\u00eb thuash se nj\u00eb server p\u00ebr zhvillim nuk ka nevoj\u00eb p\u00ebr nj\u00eb nivel t\u00eb lart\u00eb sigurie. Megjithat\u00eb, situata \u00ebsht\u00eb m\u00eb e komplikuar dhe kjo i p\u00ebrket t\u00eb gjith\u00eb server\u00ebve MongoDB. N\u00eb ve\u00e7anti, n\u00ebse nuk ka nj\u00eb arsyetim t\u00eb fort\u00eb p\u00ebr t\u00eb p\u00ebrdorur <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/command\/mapReduce\/#dbcmd.mapReduce\">mapReduce<\/a><\/noindex><\/code>, <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/command\/group\/#dbcmd.group\">grup<\/a><\/noindex><\/code> ose <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/operator\/query\/where\/#op._S_where\">$where<\/a><\/noindex>, duhet t\u00eb \u00e7aktivizohet p\u00ebrdorimi i kodit t\u00eb rast\u00ebsish\u00ebm n\u00eb JavaScript, duke shkruar n\u00eb skedarin e konfigurimit <code><noindex><a rel=\"nofollow\" href=\"https:\/\/lockmedown.com\/securing-node-js-mongodb-security-injection-attacks\/\">javascriptEnabled:false<\/a><\/noindex><\/code>. Duke qen\u00eb se skedar\u00ebt e t\u00eb dh\u00ebnave n\u00eb MongoDB standarde nuk jan\u00eb t\u00eb koduar, \u00ebsht\u00eb e arsyeshme t\u00eb funksionoj\u00eb MongoDB me <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/administration\/security-checklist\/#run-mongodb-with-a-dedicated-user\">P\u00ebrdorues t\u00eb Dedikuar<\/a><\/noindex>, i cili ka qasje t\u00eb plot\u00eb n\u00eb skedar\u00eb, me qasje t\u00eb kufizuar vet\u00ebm p\u00ebr t\u00eb dhe mund\u00ebsin\u00eb p\u00ebr t\u00eb p\u00ebrdorur mjetet e tij p\u00ebr menaxhimin e qasjes n\u00eb skedar\u00ebt e sistemit operativ.<\/p>\n<h3>Gabim n\u00eb projektimin e skem\u00ebs<\/h3>\n<p>\nMongoDB nuk p\u00ebrdor skem\u00eb. Por kjo nuk do t\u00eb thot\u00eb se skema nuk \u00ebsht\u00eb e nevojshme. N\u00ebse d\u00ebshiron t\u00eb ruash dokumentet thjesht pa nj\u00eb skem\u00eb t\u00eb koherente, mund t'i ruash ato shpejt dhe leht\u00eb, por t\u00eb nxjerr\u00ebsh ato m\u00eb von\u00eb mund t\u00eb jet\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/www.compose.com\/articles\/mongodb-with-and-without-schemas\/\">tejet e v\u00ebshtir\u00eb<\/a><\/noindex>. <\/p>\n<p>Artikulli klasik \"<i><noindex><a rel=\"nofollow\" href=\"https:\/\/www.mongodb.com\/blog\/post\/6-rules-of-thumb-for-mongodb-schema-design-part-1\">6 rregulla empirike p\u00ebr projektimin e skemave MongoDB\"<\/a><\/noindex><\/i> vlen p\u00ebr t'u lexuar, dhe funksione t\u00eb tilla si <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/knowledge-base\/articles\/schema-explorer\/\">Eksplorues i Skem\u00ebs<\/a><\/noindex> n\u00eb mjetin e jasht\u00ebm Studio 3T, \u00ebsht\u00eb e rekomandueshme p\u00ebr kontrolle t\u00eb rregullta t\u00eb skemave.<\/p>\n<h3>Mos harroni rendin e renditjes<\/h3>\n<p>\nDuke harruar rendin e renditjes mund t\u00eb zhg\u00ebnjeheni m\u00eb s\u00eb shumti dhe t\u00eb humbni m\u00eb shum\u00eb koh\u00eb sesa me p\u00ebrdorimin e \u00e7do konfigurimi tjet\u00ebr t\u00eb gabuar. P\u00ebr default MongoDB p\u00ebrdor <noindex><a rel=\"nofollow\" href=\"https:\/\/jira.mongodb.org\/browse\/SERVER-1920\">renditje binar\u00eb<\/a><\/noindex>. Por shum\u00eb pak do t\u00eb jet\u00eb e dobishme p\u00ebr dik\u00eb. Renditjet e ndjeshme ndaj shkronjave t\u00eb m\u00ebdha, theksit, renditjet binar\u00eb u konsideruan si kuriozitete anahronike krahas me perlat, kafanot dhe mustak\u00ebt q\u00eb p\u00ebrkulet ende n\u00eb vitet '80 t\u00eb shekullit t\u00eb kaluar. Tani p\u00ebrdorimi i tyre \u00ebsht\u00eb i pajustifikuesh\u00ebm. N\u00eb jet\u00ebn reale, \"motor\" \u00ebsht\u00eb e nj\u00ebjta gj\u00eb me \"Motor\". Nd\u00ebrsa \"Britania\" dhe \"britania\" jan\u00eb t\u00eb nj\u00ebjtat vende. Shkronja e vog\u00ebl \u00ebsht\u00eb thjesht ekvivalenti i shkronj\u00ebs s\u00eb madhe. Dhe mos m\u00eb detyroni t\u00eb flas p\u00ebr renditjen e shenjave diakritike. Kur krijoni nj\u00eb baz\u00eb t\u00eb dh\u00ebnash n\u00eb MongoDB, p\u00ebrdorni parametra renditjeje q\u00eb nuk marrin parasysh theksin dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/weblogs.sqlteam.com\/dang\/archive\/2009\/07\/26\/Collation-Hell-Part-1.aspx\">sensin e shkronjave<\/a><\/noindex>, t\u00eb cilat i p\u00ebrkasin gjuh\u00ebs dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/derickrethans.nl\/mongodb-collation-revised.html\">kultur\u00ebs s\u00eb p\u00ebrdoruesve t\u00eb sistemit<\/a><\/noindex>. K\u00ebshtu do ta thjeshtoni ndjesh\u00ebm k\u00ebrkimin n\u00eb t\u00eb dh\u00ebnat string.<\/p>\n<h3>Krijimi i koleksioneve me dokumente t\u00eb m\u00ebdha<\/h3>\n<p>\nMongoDB \u00ebsht\u00eb e lumtur t\u00eb prij\u00eb dokumente t\u00eb m\u00ebdha deri n\u00eb 16 MB n\u00eb koleksione, nd\u00ebrsa <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/gridfs\/#gridfs\">GridFS<\/a><\/noindex> \u00ebsht\u00eb e dizajnuar p\u00ebr dokumente t\u00eb m\u00ebdha q\u00eb jan\u00eb m\u00eb t\u00eb m\u00ebdha se 16 MB. Por vet\u00ebm sepse dokumente t\u00eb m\u00ebdha mund t\u00eb ruhen atje, ruajtja e tyre atje nuk \u00ebsht\u00eb ideja m\u00eb e mir\u00eb. MongoDB do t\u00eb funksionoj\u00eb m\u00eb mir\u00eb n\u00ebse ruani dokumente t\u00eb ve\u00e7anta me p\u00ebrmasat disa kilobajt\u00eb, duke i konsideruar ato m\u00eb shum\u00eb si rreshta n\u00eb nj\u00eb tabel\u00eb t\u00eb gjer\u00eb SQL. Dokumentet e m\u00ebdha do t\u00eb shkaktojn\u00eb probleme me <noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/mongodb\/comments\/573fqr\/question_mongodb_terrible_performance_for_a\/\">performanc\u00ebn<\/a><\/noindex>.<\/p>\n<h3>Krijimi i dokumenteve me nj\u00ebsi t\u00eb m\u00ebdha <\/h3>\n<p>\nDokumentet mund t\u00eb p\u00ebrmbajn\u00eb nj\u00ebsi. M\u00eb mir\u00eb \u00ebsht\u00eb q\u00eb numri i elementeve n\u00eb nj\u00ebsi t\u00eb jet\u00eb larg nj\u00eb numri kat\u00ebrshifror. N\u00ebse elementet shtohen shpesh n\u00eb nj\u00ebsi, ajo do t\u00eb tejkaloj\u00eb dokumentin p\u00ebrmbajt\u00ebs dhe do t\u00eb duhet t\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/data-model-operations\/#document-growth\">shkarkohet<\/a><\/noindex>, q\u00eb do t\u00eb thot\u00eb se do t\u00eb duhet t\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/write-performance\/#document-growth\">p\u00ebrdit\u00ebsohen dhe indekset<\/a><\/noindex>. Gjat\u00eb rishtypjes s\u00eb dokumentit me nj\u00ebsi t\u00eb m\u00ebdha, indekset shpesh do t\u00eb ri-shkruhen, pasi p\u00ebr \u00e7do element ekziston nj\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/index-multikey\/\">sh\u00ebnim<\/a><\/noindex>, q\u00eb ruan indeksin e tij. Kjo riindeksim ndodh gjithashtu kur dokumenti futet ose fshihet. <\/p>\n<p>N\u00eb MongoDB ka at\u00eb q\u00eb quhet <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/mmapv1\/#record-allocation-strategies\">\u00abkoeficient i mbushjes\u00bb<\/a><\/noindex>, i cili ofron hap\u00ebsir\u00eb p\u00ebr rritjen e dokumenteve, n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb minimizoni k\u00ebt\u00eb problem. <br \/>\nMund t\u00eb mendoni se mund t\u00eb p\u00ebrballoni pa indekset e vargjeve. Fatkeq\u00ebsisht, p\u00ebr shkak t\u00eb munges\u00ebs s\u00eb indekseve, mund t\u00eb shfaqen probleme t\u00eb tjera. \u00c7dokush nga dokumentet shqyrtohet nga fillimi n\u00eb fund, k\u00ebshtu q\u00eb k\u00ebrkimi i elementeve n\u00eb fund t\u00eb vargut do t\u00eb zgjas\u00eb m\u00eb shum\u00eb koh\u00eb, dhe shumica e operacioneve t\u00eb lidhura me k\u00ebt\u00eb dokument do t\u00eb jen\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/grokbase.com\/t\/gg\/mongodb-user\/128r0h5gzw\/inserting-into-300-000-size-embedded-array-is-slow-even-w-o-indexes\">t\u00eb ngadalshme<\/a><\/noindex>. <\/p>\n<h3>Mos harroni se rendi i fazave n\u00eb agregim ka r\u00ebnd\u00ebsi<\/h3>\n<p>\nN\u00eb nj\u00eb sistem baze t\u00eb dh\u00ebnash me optimizues pyetjesh, pyetjet q\u00eb shkruani jan\u00eb shpjegime p\u00ebr at\u00eb q\u00eb d\u00ebshironi t\u00eb merrni, jo p\u00ebr m\u00ebnyr\u00ebn se si ta merrni. Ky mekaniz\u00ebm funksionon si nj\u00eb porosi n\u00eb nj\u00eb restorant: zakonisht porosisni nj\u00eb pik\u00eb, jo jepni udh\u00ebzime t\u00eb detajuara p\u00ebr kuzhinierin.<\/p>\n<p>N\u00eb MongoDB ju jepni udh\u00ebzime kuzhinierit. P\u00ebr shembull, duhet t\u00eb siguroheni q\u00eb t\u00eb dh\u00ebnat kalojn\u00eb p\u00ebrmes <code>reduce<\/code> sa m\u00eb shpejt t\u00eb jet\u00eb e mundur n\u00eb pipeline me <code>$match<\/code> dhe <code>$project<\/code>, dhe renditja ndodh vet\u00ebm pas <code>reduce<\/code>, dhe q\u00eb k\u00ebrkimi ndodh n\u00eb rendin e sakt\u00eb q\u00eb ju nevojitet. Prania e nj\u00eb optimizuesi t\u00eb pyetjeve, i cili eliminon pun\u00ebt e panevojshme, organizon n\u00eb m\u00ebnyr\u00eb optimale fazat dhe zgjedh lidhjen, mund t'ju b\u00ebj\u00eb t\u00eb keni komoditet. N\u00eb MongoDB, ju fitoni m\u00eb shum\u00eb kontroll mbi \u00e7mimin e leht\u00ebsis\u00eb.<\/p>\n<p>Mjetet si <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/\">Studio 3T<\/a><\/noindex> do ta thjeshtojn\u00eb nd\u00ebrtimin e pyetjeve t\u00eb agregimit n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/knowledge-base\/articles\/build-mongodb-aggregation-queries\/\">MongoDB<\/a><\/noindex>. Funksioni Aggregation Editor do t'ju lejoj\u00eb t\u00eb aplikoni operator\u00ebt e t\u00ebrheqjes faz\u00eb pas faze, p\u00ebrve\u00e7 se t\u00eb kontrolloni t\u00eb dh\u00ebnat hyr\u00ebse dhe dal\u00ebse n\u00eb \u00e7do faz\u00eb p\u00ebr t\u00eb leht\u00ebsuar debugin. <\/p>\n<h3>P\u00ebrdorimi i regjistrimit t\u00eb shpejt\u00eb<\/h3>\n<p>\nMos e vendosni kurr\u00eb n\u00eb MongoDB paramet\u00ebr regjistrimi me shpejt\u00ebsi t\u00eb lart\u00eb, por besueshm\u00ebri t\u00eb ul\u00ebt. Ky modalitet <i>\"file-and-forget\"<\/i> duket i shpejt\u00eb, pasi ekipi kthehet para se t\u00eb regjistrohet. N\u00ebse sistemi bie para se t\u00eb dh\u00ebnat t\u00eb regjistrohen n\u00eb disk, ato do t\u00eb humbasin dhe do t\u00eb p\u00ebrfundojn\u00eb n\u00eb nj\u00eb gjendje t\u00eb pap\u00ebrshtatshme. Sht\u00eb e fatshme q\u00eb n\u00eb MongoDB me 64-bit \u00ebsht\u00eb p\u00ebrfshir\u00eb regjistrimi. <\/p>\n<p>Motoret p\u00ebr ruajtje MMAPv1 dhe WiredTiger p\u00ebrdorin regjistrimin p\u00ebr t\u00eb parandaluar k\u00ebt\u00eb, ndon\u00ebse WiredTiger mund t\u00eb rimarr\u00eb deri n\u00eb pik\u00ebn e fundit t\u00ebr\u00ebsore <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/wiredtiger\/#storage-wiredtiger-checkpoints\">kontrolluese<\/a><\/noindex>, n\u00ebse regjistrimi \u00ebsht\u00eb \u00e7aktivizuar.<\/p>\n<p>Regjistrimi garanton q\u00eb baza e t\u00eb dh\u00ebnave \u00ebsht\u00eb n\u00eb nj\u00eb gjendje t\u00eb harmonizuar pas rivendosjes dhe ruan t\u00eb gjitha t\u00eb dh\u00ebnat deri n\u00eb momentin e regjistrimit. Periudha e regjistrimeve rregullohet me paramet\u00ebr <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/configuration-options\/#storage.journal.commitIntervalMs\">commitIntervalMs<\/a><\/noindex><\/code>. <\/p>\n<p>P\u00ebr t\u00eb siguruar regjistrimet, sigurohuni q\u00eb n\u00eb skedarin e konfigurimit regjistrimi t\u00eb jet\u00eb i aktivizuar <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/configuration-options\/#configuration-file\">(storage.journal.enabled<\/a><\/noindex>)<\/code>, dhe periudha e regjistrimeve korrespondon me sasin\u00eb e informacionit q\u00eb mund t\u00eb p\u00ebrballoni t\u00eb humbni.<\/p>\n<h3>Klasifikimi pa indeks<\/h3>\n<p>\nGjat\u00eb k\u00ebrkimit dhe agregimit shpesh lind nevoja p\u00ebr klasifikimin e t\u00eb dh\u00ebnave. Shpresojm\u00eb se kjo b\u00ebhet n\u00eb nj\u00eb nga fazat p\u00ebrfundimtare, pas filtrimit t\u00eb rezultatit p\u00ebr t\u00eb reduktuar sasin\u00eb e t\u00eb dh\u00ebnave q\u00eb do t\u00eb klasifikohen. Edhe n\u00eb k\u00ebt\u00eb rast ju nevojitet <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/knowledge-base\/articles\/mongodb-index-strategy\/\">indeksin<\/a><\/noindex>. Mund t\u00eb p\u00ebrdorni nj\u00eb indeks t\u00eb vetme ose t\u00eb p\u00ebrb\u00ebr\u00eb. <\/p>\n<p>N\u00ebse nuk ka nj\u00eb indeks t\u00eb p\u00ebrshtatsh\u00ebm, MongoDB do t\u00eb kaloj\u00eb pa t\u00eb. Ekziston nj\u00eb kufi memorie prej 32 MB p\u00ebr madh\u00ebsin\u00eb totale t\u00eb t\u00eb gjitha dokumenteve n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.org\/manual\/reference\/limits\/#Sort-Operations\">operacionin e klasifikimit<\/a><\/noindex>, dhe n\u00ebse MongoDB arrin k\u00ebt\u00eb kufi, at\u00ebher\u00eb ajo do t\u00eb jap\u00eb nj\u00eb gabim ose do t\u00eb kthej\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sitepoint.com\/7-simple-speed-solutions-mongodb\/\">nj\u00eb grup regjistrimesh t\u00eb zbraz\u00ebt<\/a><\/noindex>.<\/p>\n<h3>K\u00ebrkimi pa mb\u00ebshtetje p\u00ebr indeksi<\/h3>\n<p>\nK\u00ebrkesat e k\u00ebrkimit kryejn\u00eb nj\u00eb funksion t\u00eb ngjash\u00ebm me operacionin JOIN n\u00eb SQL. P\u00ebr nj\u00eb funksionim m\u00eb t\u00eb mir\u00eb, ata kan\u00eb nevoj\u00eb p\u00ebr nj\u00eb indeks t\u00eb vler\u00ebs s\u00eb \u00e7el\u00ebsit, i p\u00ebrdorur si \u00e7el\u00ebs jasht\u00eb. Kjo nuk \u00ebsht\u00eb e qart\u00eb, pasi p\u00ebrdorimi nuk pasqyrohet n\u00eb <code>explain()<\/code>. K\u00ebto indekse jan\u00eb nj\u00eb shtes\u00eb ndaj indeksit t\u00eb shkruar n\u00eb <code>explain()<\/code>, i cili, nga ana e tij, p\u00ebrdoret nga operator\u00ebt e pipeline-it <code>$match<\/code> dhe <code>$sort<\/code>, kur ata shfaqen n\u00eb fillim t\u00eb pipeline-it. Indekset tani mund t\u00eb mbulojn\u00eb \u00e7do faz\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/aggregation-pipeline\/#aggregation-pipeline-operators-and-performance\">t\u00eb pipeline-it t\u00eb agregimit<\/a><\/noindex>. <\/p>\n<h3>Heqja e p\u00ebrdorimit t\u00eb multi-aktualizimeve<\/h3>\n<p>\nMetoda <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/\">db.collection.update()<\/a><\/noindex><\/code> p\u00ebrdoret p\u00ebr t\u00eb ndryshuar nj\u00eb pjes\u00eb t\u00eb dokumentit ekzistues ose t\u00eb t\u00ebr\u00eb dokumentin, deri n\u00eb z\u00ebvend\u00ebsimin e plot\u00eb n\u00eb var\u00ebsi t\u00eb parametrave q\u00eb keni caktuar <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/#update-parameter\">update<\/a><\/noindex><\/code>. Nuk \u00ebsht\u00eb aq e qart\u00eb se ai nuk do t\u00eb p\u00ebrpunoj\u00eb t\u00eb gjitha dokumentet n\u00eb koleksion derisa t\u00eb vendosni parametrin <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/#multi-parameter\">multiple<\/a><\/noindex><\/code> p\u00ebr t\u00eb p\u00ebrdit\u00ebsuar t\u00eb gjitha dokumentet q\u00eb p\u00ebrmbushin kriteret e k\u00ebrkes\u00ebs.<\/p>\n<h3>Mos harroni r\u00ebnd\u00ebsin\u00eb e rendit t\u00eb \u00e7el\u00ebsave n\u00eb tabel\u00ebn hash.<\/h3>\n<p>\nN\u00eb JSON, objekti p\u00ebrb\u00ebhet nga nj\u00eb koleksion i \u00e7iftave em\u00ebr\/vler\u00eb t\u00eb pa renditur, me zero ose m\u00eb shum\u00eb elemente, ku emri \u00ebsht\u00eb nj\u00eb varg dhe vlera \u00ebsht\u00eb nj\u00eb varg, num\u00ebr, vler\u00eb logjike, zero, objekt ose array.<\/p>\n<p>Fatkeq, BSON i p\u00ebrgjigjet shum\u00eb r\u00ebnd\u00ebsis\u00eb s\u00eb rendit n\u00eb k\u00ebrkesa. N\u00eb MongoDB, rendi i \u00e7el\u00ebsave brenda objekteve t\u00eb integruara <noindex><a rel=\"nofollow\" href=\"http:\/\/devblog.me\/wtf-mongo\">ka r\u00ebnd\u00ebsi<\/a><\/noindex>, pra, <code>{ firstname: &quot;Phil&quot;, surname: &quot;factor&quot; }<\/code> nuk \u00ebsht\u00eb e nj\u00ebjt\u00eb me <code>{ { surname: &quot;factor&quot;, firstname: &quot;Phil&quot; }<\/code>. Kjo do t\u00eb thot\u00eb se duhet t\u00eb ruani rendin e \u00e7ifteve em\u00ebr\/vler\u00eb n\u00eb dokumente, n\u00ebse d\u00ebshironi t\u00eb siguroni q\u00eb do t'i gjeni ato.<\/p>\n<h3>Mos ngat\u00ebrroni <i>\"null\"<\/i> dhe <i>\"undefined\"<\/i><\/h3>\n<p>\nVlera <i>\"undefined\"<\/i> nuk ka qen\u00eb kurr\u00eb e vlefshme n\u00eb JSON, sipas <noindex><a rel=\"nofollow\" href=\"http:\/\/www.ecma-international.org\/publications\/files\/ECMA-ST\/ECMA-404.pdf\">standardeve zyrtare<\/a><\/noindex> JSON (ECMA-404, Seksioni 5), pavar\u00ebsisht se \u00ebsht\u00eb p\u00ebrdorur n\u00eb JavaScript. P\u00ebr m\u00eb tep\u00ebr, p\u00ebr BSON \u00ebsht\u00eb i vjetruar dhe shnd\u00ebrrohet n\u00eb <code>$null<\/code>, q\u00eb nuk \u00ebsht\u00eb gjithmon\u00eb nj\u00eb zgjidhje e mir\u00eb. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/meteor\/meteor\/issues\/1646#issuecomment-29682964\">Shmangni p\u00ebrdorimin e <i>\"undefined\"<\/i> n\u00eb MongoDB<\/a><\/noindex>.<\/p>\n<h3>P\u00ebrdorimi <code>$limit()<\/code> pa <code>$sort()<\/code><\/h3>\n<p>\nShum\u00eb shpesh, kur zhvilloni n\u00eb MongoDB, \u00ebsht\u00eb e dobishme t\u00eb shihni thjesht nj\u00eb shembull t\u00eb rezultatit q\u00eb do t\u00eb kthehet nga k\u00ebrkesa ose agregimi. P\u00ebr k\u00ebt\u00eb detyr\u00eb do t'ju nevojitet <code>$limit()<\/code>, por nuk duhet t\u00eb jet\u00eb kurr\u00eb n\u00eb versionin p\u00ebrfundimtar t\u00eb kodit, p\u00ebrve\u00e7 n\u00ebse e p\u00ebrdorni para tij <code>$sort<\/code>. Kjo mekaniz\u00ebm \u00ebsht\u00eb e nevojshme, sepse ndryshe nuk mund t\u00eb garantoni renditjen e rezultatit, dhe nuk do t\u00eb jeni n\u00eb gjendje t\u00eb shqyrtoni t\u00eb dh\u00ebnat n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme. N\u00eb krye t\u00eb rezultatit, do t\u00eb merrni regjistrime t\u00eb ndryshme n\u00eb var\u00ebsi t\u00eb renditjes. P\u00ebr funksionim t\u00eb besuesh\u00ebm, k\u00ebrkesa dhe agregimet duhet t\u00eb jen\u00eb t\u00eb p\u00ebrcaktuara, q\u00eb do t\u00eb thot\u00eb se duhet t\u00eb japin rezultate t\u00eb nj\u00ebjta n\u00eb \u00e7do ekzekutim. Kodi q\u00eb ka <code>$limit()<\/code>, por nuk ka <code>$sort<\/code>, nuk do t\u00eb jet\u00eb i p\u00ebrcaktuar dhe m\u00eb von\u00eb mund t\u00eb shkaktoj\u00eb gabime, t\u00eb cilat do t\u00eb jen\u00eb t\u00eb v\u00ebshtira p\u00ebr t'u ndjekur.<\/p>\n<h3>P\u00ebrfundimi<\/h3>\n<p>\nNj\u00eb nga m\u00ebnyrat p\u00ebr t\u00eb humbur besimin te MongoDB \u00ebsht\u00eb ta krahasosh at\u00eb drejtp\u00ebrdrejt me nj\u00eb lloj tjet\u00ebr databaze, si\u00e7 \u00ebsht\u00eb nj\u00eb SGBD, ose t\u00eb fillosh ta p\u00ebrdor\u00ebsh duke pasur ndonj\u00eb pritet t\u00eb caktuar. \u00cbsht\u00eb sikur t\u00eb krahasosh nj\u00eb portokall me nj\u00eb pirun. Sistemet e databaz\u00ebs kan\u00eb q\u00ebllime t\u00eb caktuara. M\u00eb mir\u00eb \u00ebsht\u00eb thjesht t\u00eb kuptosh dhe t\u00eb vler\u00ebsosh k\u00ebto dallime p\u00ebr veten. Do t\u00eb ishte turp t'i k\u00ebrkosh zhvilluesve t\u00eb MongoDB t\u00eb ndjekin rrug\u00ebn q\u00eb i detyron t\u00eb ndjekin SGBD-t\u00eb. Dua t\u00eb shoh m\u00ebnyra t\u00eb reja dhe interesante p\u00ebr t\u00eb zgjidhur probleme t\u00eb vjetra, si sigurimi i integritetit t\u00eb t\u00eb dh\u00ebnave dhe krijimi i sistemeve t\u00eb dh\u00ebnash q\u00eb jan\u00eb t\u00eb q\u00ebndrueshme ndaj d\u00ebshtimeve dhe sulmeve t\u00eb keqb\u00ebr\u00ebsve.<\/p>\n<p>Implementimi i ACID transactionalitetit n\u00eb MongoDB n\u00eb versionin 4.0 \u00ebsht\u00eb nj\u00eb shembull i mir\u00eb i implementimit t\u00eb p\u00ebrmir\u00ebsimeve t\u00eb r\u00ebnd\u00ebsishme n\u00eb m\u00ebnyr\u00eb inovative. Transaksionet shum\u00eb-dokumentale dhe shum\u00eb-operator\u00ebsh tani jan\u00eb atomare. Po ashtu \u00ebsht\u00eb b\u00ebr\u00eb e mundur t\u00eb rregullohet koha e nevojshme p\u00ebr t\u00eb marr\u00eb bllokime dhe p\u00ebr t\u00eb p\u00ebrfunduar transaksionet q\u00eb kan\u00eb ngecur, si dhe p\u00ebr t\u00eb ndryshuar nivelin e izolimit.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/ZRL1\/\"><img decoding=\"async\" alt=\"14 gj\u00ebra q\u00eb do doja t\u00eb dija para se t\u00eb filloja t\u00eb punoja me MongoDB\" src=\"\/wp-content\/uploads\/2020\/09\/9966ff2613efab52aac99c2a0eda5c87.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h3>Lexoni m\u00eb shum\u00eb:<\/h3>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/519340\/\">Si t\u00eb ngarkoni t\u00eb dh\u00ebnat n\u00eb Google BigQuery<\/a><\/noindex><\/li>\n<\/ul>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/520412\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0432 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043a\u0443\u0440\u0441\u0430 \u00ab\u041d\u0435\u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b: \u041a\u0440\u0430\u0439\u043d\u0435 \u0432\u0430\u0436\u043d\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u0443 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0432 MongoDB \u043e\u043d\u0430 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430. \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432\u0430\u0448\u0435\u0439 \u0441\u0445\u0435\u043c\u0435 \u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u0418\u0437\u0431\u0435\u0433\u0430\u0439\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432. \u0411\u0443\u0434\u044c\u0442\u0435 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u044b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 MongoDB, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438. \u0412 MongoDB [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":95149,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-95148","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0432 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043a\u0443\u0440\u0441\u0430 \u00ab\u041d\u0435\u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b: \u041a\u0440\u0430\u0439\u043d\u0435 \u0432\u0430\u0436\u043d\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u0443 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0432 MongoDB \u043e\u043d\u0430 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430. \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432\u0430\u0448\u0435\u0439 \u0441\u0445\u0435\u043c\u0435 \u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u0418\u0437\u0431\u0435\u0433\u0430\u0439\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432. \u0411\u0443\u0434\u044c\u0442\u0435 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u044b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 MongoDB, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438. \u0412 MongoDB\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/14-veshhej-kotorye-ya-hotel-by-znat-pered-nachalom-raboty-s-mongodb\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd4714 \u0432\u0435\u0449\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0437\u043d\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 MongoDB | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0432 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043a\u0443\u0440\u0441\u0430 \u00ab\u041d\u0435\u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b: \u041a\u0440\u0430\u0439\u043d\u0435 \u0432\u0430\u0436\u043d\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u0443 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0432 MongoDB \u043e\u043d\u0430 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430. \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432\u0430\u0448\u0435\u0439 \u0441\u0445\u0435\u043c\u0435 \u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u0418\u0437\u0431\u0435\u0433\u0430\u0439\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432. \u0411\u0443\u0434\u044c\u0442\u0435 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u044b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 MongoDB, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438. \u0412 MongoDB\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/14-veshhej-kotorye-ya-hotel-by-znat-pered-nachalom-raboty-s-mongodb\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-25T17:43:09+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-25T17:43:09+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd4714 gj\u00ebra q\u00eb do doja t\u00eb dija para se t\u00eb filloja pun\u00ebn me MongoDB | ProHoster","description":"P\u00ebrkthimi i artikullit \u00ebsht\u00eb p\u00ebrgatitur n\u00eb prag t\u00eb fillimit t\u00eb kursit \"Datat e pa-relacionuara\". Pikat kryesore: \u00cbsht\u00eb jasht\u00ebzakonisht e r\u00ebnd\u00ebsishme t\u00eb zhvillohet nj\u00eb skem\u00eb, ndon\u00ebse n\u00eb MongoDB ajo nuk \u00ebsht\u00eb e detyrueshme. Po ashtu, indekset duhet t\u00eb p\u00ebrputhen me skem\u00ebn tuaj dhe modelet e aksesit. Shmangni p\u00ebrdorimin e objekteve t\u00eb m\u00ebdha dhe array-ve t\u00eb m\u00ebdha. B\u00ebni kujdes me konfigurimet e MongoDB, ve\u00e7an\u00ebrisht n\u00ebse b\u00ebhet fjal\u00eb p\u00ebr sigurin\u00eb dhe q\u00ebndrueshm\u00ebrin\u00eb. N\u00eb MongoDB","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/14-veshhej-kotorye-ya-hotel-by-znat-pered-nachalom-raboty-s-mongodb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd4714 \u0432\u0435\u0449\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0437\u043d\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 MongoDB | ProHoster","og:description":"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0432 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043a\u0443\u0440\u0441\u0430 \u00ab\u041d\u0435\u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445\u00bb. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b: \u041a\u0440\u0430\u0439\u043d\u0435 \u0432\u0430\u0436\u043d\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u0443 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0432 MongoDB \u043e\u043d\u0430 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430. \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432\u0430\u0448\u0435\u0439 \u0441\u0445\u0435\u043c\u0435 \u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u0418\u0437\u0431\u0435\u0433\u0430\u0439\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432. \u0411\u0443\u0434\u044c\u0442\u0435 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u044b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 MongoDB, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438. \u0412 MongoDB","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/14-veshhej-kotorye-ya-hotel-by-znat-pered-nachalom-raboty-s-mongodb","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-25T17:43:09+00:00","article:modified_time":"2020-09-25T17:43:09+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95148","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:11:32","updated":"2022-10-03 07:39:33"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/95148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=95148"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/95148\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/95149"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=95148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=95148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=95148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}