{"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 fillimit t\u00eb pun\u00ebs me MongoDB","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>P\u00ebrkthimi i artikullit \u00ebsht\u00eb p\u00ebrgatitur para fillimit t\u00eb kursit <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/ZRL1\/\">\u00abBaza t\u00eb dh\u00ebnash jo-releracionale\u00bb<\/a><\/noindex>.<\/i><\/b><\/p>\n<p><img decoding=\"async\" alt=\"14 gj\u00ebra q\u00eb do doja t\u00eb dija para fillimit t\u00eb pun\u00ebs 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 zhvillohet nj\u00eb skem\u00eb, megjithat\u00eb n\u00eb MongoDB ajo \u00ebsht\u00eb e optional.<\/li>\n<li>Po ashtu, indekset duhet t\u00eb korrespondojn\u00eb me skem\u00ebn tuaj dhe me shabllonet e aksesit. <\/li>\n<li>Shmangni p\u00ebrdorimin e objekteve t\u00eb m\u00ebdha dhe t\u00eb grupeve t\u00eb m\u00ebdha.<\/li>\n<li>B\u00ebni kujdes me cil\u00ebsimet 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 t\u00eb pyetjeve, k\u00ebshtu q\u00eb duhet t\u00eb jeni t\u00eb kujdessh\u00ebm gjat\u00eb ekzekutimit t\u00eb operacioneve t\u00eb pyetjes.<\/li>\n<\/ul>\n<p>\nUn\u00eb kam punuar me baza t\u00eb dh\u00ebnash p\u00ebr nj\u00eb koh\u00eb t\u00eb gjat\u00eb, por vet\u00ebm s\u00eb fundmi e kam zbuluar MongoDB. Ka disa gj\u00ebra q\u00eb do t\u00eb doja t\u00eb dija para fillimit t\u00eb pun\u00ebs me t\u00eb. Kur nj\u00eb person ka p\u00ebrvoj\u00eb n\u00eb nj\u00eb fush\u00eb t\u00eb caktuar, ai ka p\u00ebrfytyrime t\u00eb paracaktuar mbi at\u00eb se \u00e7far\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 e individ\u00ebve t\u00eb tjer\u00eb, un\u00eb 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\u00ebsisht, MongoDB inastohet pa autentifikim nga parazgjedhja. P\u00ebr nj\u00eb stacion pune, aksesin e t\u00eb cilit e sigurojm\u00eb lokal, kjo praktik\u00eb \u00ebsht\u00eb e pranueshme. Por, p\u00ebrsa koh\u00eb q\u00eb MongoDB \u00ebsht\u00eb nj\u00eb sistem shum\u00ebp\u00ebrdorues, q\u00eb p\u00eblqen t\u00eb p\u00ebrdor\u00eb sasi t\u00eb m\u00ebdha RAM-i, do t\u00eb ishte m\u00eb mir\u00eb ta vendosni at\u00eb n\u00eb nj\u00eb server me sa m\u00eb shum\u00eb RAM t\u00eb mundsh\u00ebm, edhe n\u00ebse do ta p\u00ebrdorni vet\u00ebm p\u00ebr zhvillim. Instalim n\u00eb server p\u00ebrmes portit t\u00eb parazgjedhur mund t\u00eb jet\u00eb problematik, ve\u00e7an\u00ebrisht n\u00ebse n\u00eb k\u00ebrkes\u00eb mund t\u00eb ekzekutohet \u00e7far\u00ebdo kodi 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\/\">injektimin<\/a><\/noindex>). <\/p>\n<p>Ekzistojn\u00eb disa metoda autentikimi, por m\u00eb e lehta \u00ebsht\u00eb t\u00eb vendosni p\u00ebr p\u00ebrdoruesin ID\/password. P\u00ebrfitoni nga kjo ide, derisa t\u00eb mendoni p\u00ebr nj\u00eb autentifikim m\u00eb t\u00eb \u00e7uditsh\u00ebm t\u00eb bazuar n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/security-ldap-external\/\">LDAP<\/a><\/noindex>. N\u00ebse flasim p\u00ebr sigurin\u00eb, MongoDB duhet t\u00eb azhurnohet vazhdimisht dhe log-et duhet gjithmon\u00eb t\u00eb kontrollohen p\u00ebr qasje t\u00eb paautorizuar. P\u00ebr shembull, mua m\u00eb p\u00eblqen t\u00eb zgjedh nj\u00eb port tjet\u00ebr si portin e parazgjedhur.<\/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\u00ebrdor k\u00ebshilla t\u00eb mira p\u00ebr t\u00eb ulur rrezikun e dep\u00ebrtimit n\u00eb rrjet dhe t\u00eb rrjedhjes s\u00eb t\u00eb dh\u00ebnave. \u00cbsht\u00eb e leht\u00eb t\u00eb heq\u00ebsh dor\u00eb dhe t\u00eb thuash q\u00eb serveri p\u00ebr zhvillim nuk ka nevoj\u00eb p\u00ebr nj\u00eb nivel t\u00eb lart\u00eb sigurie. Megjithat\u00eb, gj\u00ebrat nuk jan\u00eb kaq t\u00eb thjeshta dhe kjo i p\u00ebrket t\u00eb gjith\u00eb server\u00ebve MongoDB. Sidomos, n\u00ebse nuk ka arsye t\u00eb forta 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 \u00e7aktivizoni p\u00ebrdorimin e 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:fals\u00eb<\/a><\/noindex><\/code>. Duke pasur parasysh se n\u00eb MongoDB standard, skedar\u00ebt e t\u00eb dh\u00ebnave nuk jan\u00eb t\u00eb enkriptuar, \u00ebsht\u00eb e arsyeshme t\u00eb drejtoni 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 t\u00eb menaxhimit t\u00eb aksesit n\u00eb skedar\u00eb t\u00eb sistemit operativ.<\/p>\n<h3>Gabim n\u00eb krijimin e skem\u00ebs<\/h3>\n<p>\nMongoDB nuk p\u00ebrdor skem\u00eb. Por kjo nuk do t\u00eb thot\u00eb q\u00eb skema nuk \u00ebsht\u00eb e nevojshme. N\u00ebse d\u00ebshironi thjesht t\u00eb ruani dokumente pa ndonj\u00eb skem\u00eb t\u00eb q\u00ebndruar, \u00ebsht\u00eb e mundur t\u00eb ruani ato shpejt dhe leht\u00eb, por t'i nxjerrni m\u00eb pas mund t\u00eb jet\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/www.compose.com\/articles\/mongodb-with-and-without-schemas\/\">maqedonisht 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> ja 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\/\">Schema Explorer<\/a><\/noindex> n\u00eb mjetin e jasht\u00ebm Studio 3T, \u00ebsht\u00eb e vlefshme t\u00eb p\u00ebrdoret p\u00ebr kontrollin e rregullt t\u00eb skemave.<\/p>\n<h3>Mos harroni renditjen<\/h3>\n<p>\nDuke harruar renditjen, mund t\u00eb zhg\u00ebnjeheni m\u00eb shum\u00eb se cil\u00ebsdo konfigurim tjet\u00ebr t\u00eb gabuar. Nga p\u00ebrkufizimi, MongoDB p\u00ebrdor <noindex><a rel=\"nofollow\" href=\"https:\/\/jira.mongodb.org\/browse\/SERVER-1920\">renditjen binar<\/a><\/noindex>. Por \u00ebsht\u00eb e v\u00ebshtir\u00eb t\u00eb jet\u00eb e dobishme p\u00ebr dik\u00eb. Renditjet e ndjeshme ndaj rastit, akcentimit, ishin konsideruar kuriozitete anahronizmi s\u00eb bashku me perla, kaftane dhe mjekra deri n\u00eb vitet '80 t\u00eb shekullit t\u00eb kaluar. Tani p\u00ebrdorimi i tyre \u00ebsht\u00eb i pafalsh\u00ebm. N\u00eb t\u00eb v\u00ebrtet\u00eb, \"motor\" \u00ebsht\u00eb e nj\u00ebjta gj\u00eb si \"Motor\". Dhe \"Britania\" dhe \"britania\" jan\u00eb e nj\u00ebjta vend. Nj\u00eb shkronj\u00eb e vog\u00ebl \u00ebsht\u00eb thjesht ekuivalenti me shkronj\u00ebn e madhe. Dhe mos m\u00eb b\u00ebni t\u00eb flas p\u00ebr renditjen e diakritik\u00ebve. Kur krijoni nj\u00eb baz\u00eb t\u00eb t\u00eb dh\u00ebnave n\u00eb MongoDB, p\u00ebrdorni parametrat e renditjes pa marr\u00eb parasysh akcentin dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/weblogs.sqlteam.com\/dang\/archive\/2009\/07\/26\/Collation-Hell-Part-1.aspx\">rastin<\/a><\/noindex>, q\u00eb 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 t'ju leht\u00ebsoj\u00eb ndjesh\u00ebm k\u00ebrkimin p\u00ebr t\u00eb dh\u00ebnat e vargjeve.<\/p>\n<h3>Krijimi i koleksioneve me dokumente t\u00eb m\u00ebdha<\/h3>\n<p>\nMongoDB \u00ebsht\u00eb e lumtur t\u00eb vendos\u00eb dokumente t\u00eb m\u00ebdha deri n\u00eb 16 MB n\u00eb koleksione, dhe <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 m\u00eb t\u00eb m\u00ebdha se 16 MB. Por vet\u00ebm sepse dokumentet e m\u00ebdha mund t\u00eb vendosen atje, ruajtja e tyre atje nuk \u00ebsht\u00eb idea m\u00eb e mir\u00eb. MongoDB do t\u00eb funksionoj\u00eb m\u00eb mir\u00eb n\u00ebse ruani dokumente t\u00eb ve\u00e7anta me madh\u00ebsi disa kilobajt\u00ebsh, 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 jen\u00eb burim problemesh 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 masa t\u00eb m\u00ebdha <\/h3>\n<p>\nDokumentet mund t\u00eb p\u00ebrmbajn\u00eb masa. M\u00eb mir\u00eb do t\u00eb ishte n\u00ebse numri i elementeve n\u00eb mas\u00eb \u00ebsht\u00eb larg nga numri kat\u00ebrshifror. N\u00ebse elementet shtohen shpesh n\u00eb mas\u00eb, ajo do t\u00eb kaloj\u00eb dokumentin q\u00eb e p\u00ebrmban, dhe do t\u00eb duhet ta <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/data-model-operations\/#document-growth\">shkall\u00ebzoni<\/a><\/noindex>, 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\">aktualizoni dhe indekset<\/a><\/noindex>. N\u00eb rindeksimin e dokumentit me nj\u00eb mas\u00eb t\u00eb madhe, indekset shpesh do t\u00eb rishkruhen, 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 rindeksim gjithashtu ndodh kur dokumenti injektohet ose fshihet. <\/p>\n<p>N\u00eb MongoDB ka t\u00eb ashtuquajturin <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/mmapv1\/#record-allocation-strategies\">\u00abkoeficient i mbushjes\u00bb<\/a><\/noindex>, q\u00eb ofron hap\u00ebsir\u00eb p\u00ebr rritjen e dokumenteve, p\u00ebr t\u00eb minimizuar k\u00ebt\u00eb problem. <br \/>\nMund t\u00eb mendoni se mund t\u00eb kaloni pa indeksimin e masave. Fatkeq\u00ebsisht, p\u00ebr shkak t\u00eb munges\u00ebs s\u00eb indekseve mund t\u00eb keni probleme t\u00eb tjera. N\u00eb masat, dokumentet shqyrtohen nga fillimi deri n\u00eb fund, k\u00ebrkimi i elementeve n\u00eb fund t\u00eb mas\u00ebs do t\u00eb marr\u00eb m\u00eb shum\u00eb koh\u00eb, dhe shumica e operacioneve t\u00eb lidhura me nj\u00eb dokument t\u00eb till\u00eb 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 ngadalta<\/a><\/noindex>. <\/p>\n<h3>Mos harroni se rendi i fazave n\u00eb agregimin ka r\u00ebnd\u00ebsi<\/h3>\n<p>\nN\u00eb nj\u00eb sistem t\u00eb baz\u00ebs s\u00eb t\u00eb dh\u00ebnave me optimizues t\u00eb pyetjeve, pyetjet q\u00eb shkruani jan\u00eb shpjegime se \u00e7far\u00eb d\u00ebshironi t\u00eb merrni, jo se si ta merrni at\u00eb. Ky mekaniz\u00ebm funksionon n\u00eb m\u00ebnyr\u00eb t\u00eb ngjashme me porosin\u00eb n\u00eb nj\u00eb restorant: zakonisht porosisni vet\u00ebm nj\u00eb pjat\u00eb, jo t'i jepni kuzhinierit udh\u00ebzime t\u00eb detajuara.<\/p>\n<p>N\u00eb MongoDB ju udh\u00ebzoni kuzhinierin. P\u00ebr shembull, duhet t\u00eb siguroheni se t\u00eb dh\u00ebnat kalojn\u00eb p\u00ebrmes <code>reduce<\/code> sa m\u00eb shpejt n\u00eb pipeline me <code>$match<\/code> dhe <code>$project<\/code>, dhe renditja ndodh vet\u00ebm pas <code>reduce<\/code>, dhe se k\u00ebrkimi ndodh sakt\u00ebsisht n\u00eb rendin q\u00eb ju nevojitet. Prania e nj\u00eb optimizuesi t\u00eb pyetjeve, i cili eliminon pun\u00ebn e panevojshme, rendit optimalisht fazat dhe zgjedh llojin e lidhjes, mund t'ju b\u00ebj\u00eb t\u00eb m\u00ebrziteni. N\u00eb MongoDB keni m\u00eb shum\u00eb kontroll mbi \u00e7mimin e komoditetit.<\/p>\n<p>Mjetet si <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/\">Studio 3T<\/a><\/noindex> 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>. Funkcioni Aggregation Editor ju lejon t\u00eb aplikoni operator\u00eb t\u00eb pipeline-it nj\u00eb faz\u00eb n\u00eb nj\u00eb koh\u00eb, si dhe t\u00eb kontrolloni t\u00eb dh\u00ebnat hyr\u00ebse dhe dal\u00ebse n\u00eb \u00e7do faz\u00eb p\u00ebr t\u00eb thjeshtuar debugging-un. <\/p>\n<h3>P\u00ebrdorimi i shkruajtes s\u00eb shpejt\u00eb<\/h3>\n<p>\nKurr\u00eb mos vendosni n\u00eb MongoDB parametrat e shkrimit me shpejt\u00ebsi t\u00eb lart\u00eb, por me besueshm\u00ebri t\u00eb ul\u00ebt. Ky mod <i>\"file-and-forget\"<\/i> duket i shpejt\u00eb, pasi ekipi kthehet para se t\u00eb kryhet shkrimi. N\u00ebse sistemi bie para se t\u00eb dh\u00ebnat t\u00eb shkruhen n\u00eb disk, ato do t\u00eb humbasin dhe do t\u00eb p\u00ebrfundojn\u00eb n\u00eb nj\u00eb gjendje t\u00eb papajtueshme. Fatmir\u00ebsisht, n\u00eb MongoDB 64-bit \u00ebsht\u00eb e aktivizuar regjistrimi. <\/p>\n<p>Motor\u00ebt e ruajtjes MMAPv1 dhe WiredTiger p\u00ebrdorin regjistrimin p\u00ebr t\u00eb parandaluar k\u00ebt\u00eb, megjithat\u00eb WiredTiger mund t\u00eb rikuperohet deri n\u00eb pik\u00ebn m\u00eb t\u00eb fundit t\u00eb pajtueshm\u00ebris\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/wiredtiger\/#storage-wiredtiger-checkpoints\">kontrolli i pik\u00ebs<\/a><\/noindex>, n\u00ebse regjistrimi \u00ebsht\u00eb i \u00e7aktivizuar.<\/p>\n<p>Regjistrimi garanton q\u00eb baza e t\u00eb dh\u00ebnave \u00ebsht\u00eb n\u00eb nj\u00eb gjendje t\u00eb pajtueshme pas rikuperimit dhe ruan t\u00eb gjitha t\u00eb dh\u00ebnat deri n\u00eb momentin e regjistrimit n\u00eb jurnal. Periodiciteti i regjistrimeve rregullohet me parametrin <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/configuration-options\/#storage.journal.commitIntervalMs\">intervalliIangazhitMs<\/a><\/noindex><\/code>. <\/p>\n<p>P\u00ebr t'u siguruar p\u00ebr regjistrimet, sigurohuni q\u00eb regjistrimi t\u00eb jet\u00eb i aktivizuar n\u00eb skedarin e konfigurimit <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/configuration-options\/#configuration-file\">(storage.journal.enabled<\/a><\/noindex>)<\/code>, dhe periodiciteti i regjistrimeve t\u00eb jet\u00eb n\u00eb p\u00ebrputhje me at\u00eb sasi informacioni q\u00eb mund t\u00eb p\u00ebrballoni t\u00eb humbni.<\/p>\n<h3>Klasifikimi pa indeks<\/h3>\n<p>\nN\u00eb k\u00ebrkim dhe agregim 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 zvog\u00ebluar sasin\u00eb e t\u00eb dh\u00ebnave t\u00eb klasifikuara. Edhe n\u00eb at\u00eb rast, p\u00ebr klasifikimin do t'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 vet\u00ebm ose t\u00eb p\u00ebrb\u00ebr\u00eb. <\/p>\n<p>N\u00ebse s\u2019ka nj\u00eb indeks t\u00eb p\u00ebrshtatsh\u00ebm, MongoDB do ta kaloj\u00eb pa t\u00eb. Ka nj\u00eb kufi memorjeje prej 32 MB n\u00eb mas\u00ebn totale t\u00eb t\u00eb gjith\u00eb 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, ose 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 t\u00eb zbraz\u00ebt regjistrimesh<\/a><\/noindex>.<\/p>\n<h3>K\u00ebrkimi pa mb\u00ebshtetje indeksesh<\/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 t\u00eb punuar m\u00eb mir\u00eb, atyre u nevojitet indeksi i vler\u00ebs s\u00eb \u00e7el\u00ebsit, q\u00eb p\u00ebrdoret si \u00e7el\u00ebs i jasht\u00ebm. Kjo nuk \u00ebsht\u00eb e qart\u00eb, pasi p\u00ebrdorimi nuk reflektohet n\u00eb <code>explain()<\/code>. K\u00ebta indekse jan\u00eb nj\u00eb plot\u00ebsim i indeksit t\u00eb regjistruar n\u00eb <code>explain()<\/code>, i cili, nga ana e tij, p\u00ebrdoret nga operator\u00ebt e pipeline <code>$match<\/code> dhe <code>$sort<\/code>, kur ata shfaqen n\u00eb fillim t\u00eb pipeline. Indekset tani mund t\u00eb p\u00ebrfshijn\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 grumbullimit<\/a><\/noindex>. <\/p>\n<h3>Heqja dor\u00eb nga p\u00ebrdorimi i shum\u00eb-ndryshimeve<\/h3>\n<p>\nSanitizer.replaceElementWithChildren() <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 gjith\u00eb dokumentin, deri n\u00eb nj\u00eb z\u00ebvend\u00ebsim t\u00eb plot\u00eb n\u00eb var\u00ebsi t\u00eb parametrave q\u00eb keni vendosur <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/#update-parameter\">p\u00ebrdit\u00ebsim<\/a><\/noindex><\/code>. Nuk \u00ebsht\u00eb aq e qart\u00eb q\u00eb 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\">multi<\/a><\/noindex><\/code> p\u00ebr t\u00eb p\u00ebrdit\u00ebsuar t\u00eb gjitha dokumentet q\u00eb p\u00ebrmbushin kritereve t\u00eb 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, nj\u00eb objekt p\u00ebrb\u00ebhet nga nj\u00eb koleksion i pa renditur me zero ose m\u00eb shum\u00eb \u00e7ift\u00eb em\u00ebr\/vler\u00eb, 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\u00ebsisht, BSON i jep r\u00ebnd\u00ebsi t\u00eb madhe rendit gjat\u00eb k\u00ebrkimeve. N\u00eb MongoDB, rendi i \u00e7el\u00ebsave brenda objekteve t\u00eb p\u00ebrfshira <noindex><a rel=\"nofollow\" href=\"http:\/\/devblog.me\/wtf-mongo\">ka r\u00ebnd\u00ebsi<\/a><\/noindex>, dmth. <code>{ firstname: \"Phil\", surname: \"factor\" }<\/code> nuk \u00ebsht\u00eb e nj\u00ebjt\u00eb me <code>{ { surname: \"factor\", firstname: \"Phil\" }<\/code>. K\u00ebshtu q\u00eb ju duhet t\u00eb ruani rendin e \u00e7ift\u00ebve em\u00ebr\/vler\u00eb n\u00eb dokumente n\u00ebse d\u00ebshironi t\u00eb jeni t\u00eb sigurt q\u00eb do t'i gjeni ato.<\/p>\n<h3>Mos e ngat\u00ebrroni <i>\"null\"<\/i> dhe <i>\"undefined\"<\/i><\/h3>\n<p>\nVlera <i>\"undefined\"<\/i> nuk ka qen\u00eb kurr\u00eb e lejuar n\u00eb JSON, sipas <noindex><a rel=\"nofollow\" href=\"http:\/\/www.ecma-international.org\/publications\/files\/ECMA-ST\/ECMA-404.pdf\">standardit zyrtar<\/a><\/noindex> JSON (ECMA-404, Seksioni 5), megjith\u00ebse p\u00ebrdoret n\u00eb JavaScript. M\u00eb tep\u00ebr, p\u00ebr BSON, ajo \u00ebsht\u00eb e p\u00ebrjetshme dhe konvertohet 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>\nShpesh, kur zhvilloni n\u00eb MongoDB, \u00ebsht\u00eb e dobishme t\u00eb shihni nj\u00eb shembull rezultati q\u00eb do t\u00eb kthehet nga k\u00ebrkesa ose grumbullimi. P\u00ebr k\u00ebt\u00eb detyr\u00eb do t'ju nevojitet <code>$limit()<\/code>, por ajo nuk duhet t\u00eb jet\u00eb kurr\u00eb n\u00eb versionin p\u00ebrfundimtar t\u00eb kodit, n\u00ebse para saj nuk p\u00ebrdorni <code>$sort<\/code>Kjo mekanik\u00eb \u00ebsht\u00eb e nevojshme, pasi ndryshe nuk mund t\u00eb garantoni rendin e rezultat\u00ebve dhe nuk do t\u00eb jeni n\u00eb gjendje t\u00eb shihni t\u00eb dh\u00ebnat me besueshm\u00ebri. N\u00eb pjes\u00ebn e sip\u00ebrme t\u00eb rezultateve do t\u00eb merrni regjistrime t\u00eb ndryshme n\u00eb var\u00ebsi t\u00eb rendit. P\u00ebr t\u00eb punuar n\u00eb m\u00ebnyr\u00eb t\u00eb besueshme, k\u00ebrkesat dhe agregimet duhet t\u00eb jen\u00eb deterministe, dometh\u00ebn\u00eb duhet t\u00eb japin rezultate t\u00eb nj\u00ebjta me \u00e7do ekzekutim. Kodi, n\u00eb t\u00eb cilin ka <code>$limit()<\/code>, por nuk ka <code>$sort<\/code>, nuk do t\u00eb jet\u00eb deterministik dhe m\u00eb von\u00eb mund t\u00eb shkaktoj\u00eb gabime q\u00eb do t\u00eb jen\u00eb t\u00eb v\u00ebshtira p\u00ebr t'u ndjekur.<\/p>\n<h3>P\u00ebrfundim<\/h3>\n<p>\nM\u00ebnyra e vetme p\u00ebr t\u00eb qen\u00eb i zhg\u00ebnjyer nga MongoDB \u00ebsht\u00eb ta krahasosh at\u00eb drejtp\u00ebrdrejt me nj\u00eb lloj tjet\u00ebr bazash t\u00eb dh\u00ebnash, si DBMS, ose t\u00eb fillosh ta p\u00ebrdor\u00ebsh at\u00eb duke u bazuar n\u00eb disa pritshm\u00ebri t\u00eb caktuara. \u00cbsht\u00eb si t\u00eb krahasosh nj\u00eb portokall me nj\u00eb pirun. Sistemet e t\u00eb dh\u00ebnave ndjekin q\u00ebllime t\u00eb caktuara. M\u00eb mir\u00eb \u00ebsht\u00eb thjesht t\u00eb kuptosh dhe vler\u00ebsosh p\u00ebr vete k\u00ebto dallime. Do t\u00eb ishte turp t\u00eb ushtrohej presion mbi zhvilluesit e MongoDB p\u00ebr shkak t\u00eb rrug\u00ebs q\u00eb i detyroi t\u00eb ndjekin rrug\u00ebn e DBMS. Do t\u00eb doja t\u00eb shihja m\u00ebnyra t\u00eb reja dhe interesante p\u00ebr t\u00eb zgjidhur problemet e vjetra, si sigurimi i integritetit t\u00eb t\u00eb dh\u00ebnave dhe krijimi i sistemeve t\u00eb t\u00eb dh\u00ebnave q\u00eb jan\u00eb t\u00eb q\u00ebndrueshme ndaj defekteve dhe sulmeve t\u00eb keqb\u00ebr\u00ebsve.<\/p>\n<p>Zgjedhja e ACID dhe tranzaksionet n\u00eb MongoDB n\u00eb versionin 4.0 jan\u00eb nj\u00eb shembull i mir\u00eb i integrimit t\u00eb p\u00ebrmir\u00ebsimeve t\u00eb r\u00ebnd\u00ebsishme n\u00eb nj\u00eb m\u00ebnyr\u00eb inovative. Transaksionet shum\u00eb dokumentale dhe shum\u00eb operatorike tani jan\u00eb atomike. Gjithashtu, \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 e varura, si dhe t\u00eb ndryshohet niveli i 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 fillimit t\u00eb pun\u00ebs 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 5.0.2 - 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.\" \/>\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) 5.0.2\" \/>\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.\" \/>\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 t\u00eb doja t\u00eb dija para se t\u00eb filloja me MongoDB | ProHoster","description":"P\u00ebrkthimi i artikullit \u00ebsht\u00eb p\u00ebrgatitur n\u00eb prag t\u00eb fillimit t\u00eb kursit \"Baza t\u00eb dh\u00ebnash jo-relacionale\".","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.","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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}