{"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\/et\/blog\/administrirovanie\/14-veshhej-kotorye-ya-hotel-by-znat-pered-nachalom-raboty-s-mongodb","title":{"rendered":"14 asja, mida ma sooviksin teada MongoDB-ga t\u00f6\u00f6tamise alustamiseks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>Artikli t\u00f5lge on ettevalmistatud kursuse alguseks <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/ZRL1\/\">\u00abMittepoleerimata andmebaasid\u00bb<\/a><\/noindex>.<\/i><\/b><\/p>\n<p><img decoding=\"async\" alt=\"14 asja, mida ma sooviksin teada MongoDB-ga t\u00f6\u00f6tamise alustamiseks\" src=\"\/wp-content\/uploads\/2020\/09\/9b4979be27e0090543b28150d90fa8df.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Peamised punktid:<\/p>\n<ul>\n<li>On \u00e4\u00e4rmiselt oluline disainida skeem, kuigi MongoDB-s see ei ole kohustuslik.<\/li>\n<li>Samuti peavad indeksid vastama teie skeemile ja ligip\u00e4\u00e4sukorraldustele. <\/li>\n<li>V\u00e4ltige suurte objektide ja massiivide kasutamist.<\/li>\n<li>Olge ettevaatlik MongoDB seadistuste puhul, eriti kui tegemist on turvalisuse ja usaldusv\u00e4\u00e4rsusega.<\/li>\n<li>MongoDB-s pole p\u00e4ringu optimeerijat, seega peate olema ettevaatlik p\u00e4ringute sooritamisel.<\/li>\n<\/ul>\n<p>\nOlen v\u00e4ga kaua t\u00f6\u00f6tanud andmebaasidega, kuid hiljuti avastasin MongoDB. On m\u00f5ned asjad, mida ma tahaksin teada enne, kui hakkan sellega t\u00f6\u00f6tama. Kui inimesel on juba kogemus teatud valdkonnas, siis on tal eelarvamused selle kohta, mis on andmebaasid ja mida nad teevad. Lootes teiste inimeste m\u00f5istmist kergendada, esitan levinud vigade nimekirja.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>MongoDB serveri loomine ilma autentimiseta<\/h3>\n<p>\nKahjuks installitakse MongoDB vaikimisi ilma autentimiseta. Kohalikuks p\u00e4\u00e4suks on see tava normaalne. Kuid kuna MongoDB on mitme kasutajaga s\u00fcsteem, mis eelistab kasutada suurtes kogustes m\u00e4lu, on parem paigaldada see serverisse, kus on v\u00f5imalikult palju operatiivm\u00e4lu, isegi kui plaanite seda kasutada ainult arenduseks. Serverisse installimine vaikimisi pordi kaudu v\u00f5ib olla probleemne, eriti kui p\u00e4ringus saab k\u00e4ivitada mis tahes JavaScripti koodi (n\u00e4iteks, <code>$where<\/code> ideena <noindex><a rel=\"nofollow\" href=\"https:\/\/lockmedown.com\/securing-node-js-mongodb-security-injection-attacks\/\">s\u00fcstimise<\/a><\/noindex>). <\/p>\n<p>On olemas mitmeid autentimismeetodeid, kuid lihtsaim on luua kasutaja ID\/parool. Kasutage seda ideed, kuni m\u00f5tledate nutika autentimise peale, mis p\u00f5hineb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/security-ldap-external\/\">LDAP<\/a><\/noindex>. Kui r\u00e4\u00e4kida turvalisusest, peaks MongoDB olema pidevalt ajakohane ja logisid tuleks alati kontrollida volitamata p\u00e4\u00e4su osas. Mulle n\u00e4iteks meeldib valida vaikimisi pordiks teise pordi.<\/p>\n<h3>\u00c4rge unustage siduda r\u00fcndepinda MongoDB-ga<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/administration\/security-checklist\/\">MongoDB turvachek-list<\/a><\/noindex> sisaldab h\u00e4id n\u00e4pun\u00e4iteid v\u00f5rgu sissetungimise ja andmelekkete riski v\u00e4hendamiseks. On lihtne \u00f6elda, et arendusserver ei vaja k\u00f5rget turvataset. Kuid asi pole nii lihtne ja see kehtib k\u00f5igi MongoDB serverite kohta. Eelk\u00f5ige, kui pole m\u00f5juvat p\u00f5hjust kasutada <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\">grupp<\/a><\/noindex><\/code> v\u00f5i <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/operator\/query\/where\/#op._S_where\">$where<\/a><\/noindex>, tuleks JavaScripti suvalise koodi kasutamine keelata, kirjutades konfigureerimisfaili <code><noindex><a rel=\"nofollow\" href=\"https:\/\/lockmedown.com\/securing-node-js-mongodb-security-injection-attacks\/\">javascriptEnabled:false<\/a><\/noindex><\/code>. Kuna standardsetes MongoDB andmefailides pole kr\u00fcpteerimist, on m\u00f5istlik k\u00e4ivitada MongoDB koos <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/administration\/security-checklist\/#run-mongodb-with-a-dedicated-user\">P\u00fchendatud kasutaja<\/a><\/noindex>, kellel on t\u00e4ielik juurdep\u00e4\u00e4s failidele, piiratud juurdep\u00e4\u00e4s ainult tema jaoks ja v\u00f5imalus kasutada oma s\u00fcsteemi failide juurdep\u00e4\u00e4su haldamise vahendeid.<\/p>\n<h3>Sch\u00e9ma arengus esinev viga<\/h3>\n<p>\nMongoDB ei kasuta skeemi. Kuid see ei t\u00e4henda, et skeem pole vajalik. Kui soovite lihtsalt s\u00e4ilitada dokumente ilma mingisuguse \u00fchtse skeemita, on nende s\u00e4ilitamine kiire ja lihtne, kuid nende hilisem v\u00e4ljav\u00f5tmine v\u00f5ib olla <noindex><a rel=\"nofollow\" href=\"https:\/\/www.compose.com\/articles\/mongodb-with-and-without-schemas\/\">p\u00e4ris keeruline<\/a><\/noindex>. <\/p>\n<p>Klassikaline artikkel \u201e<i><noindex><a rel=\"nofollow\" href=\"https:\/\/www.mongodb.com\/blog\/post\/6-rules-of-thumb-for-mongodb-schema-design-part-1\">6 kogemusn\u00f5uannet MongoDB skeemide kujundamiseks\u201c<\/a><\/noindex><\/i> on kindlasti lugemist v\u00e4\u00e4rt, samuti sellised funktsioonid nagu <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/knowledge-base\/articles\/schema-explorer\/\">Schema Explorer<\/a><\/noindex> kolmanda osapoole t\u00f6\u00f6riistas, nagu Studio 3T, tasub kasutada regulaarsete skeemide kontrollimiseks.<\/p>\n<h3>\u00c4rge unustage sortimisj\u00e4rjestust<\/h3>\n<p>\nSortimisj\u00e4rjestuse unustamine v\u00f5ib osutuda k\u00f5ige suuremaks pettumuseks ja v\u00f5tma rohkem aega kui vale konfiguratsiooni kasutamine. Vaikimisi kasutab MongoBD <noindex><a rel=\"nofollow\" href=\"https:\/\/jira.mongodb.org\/browse\/SERVER-1920\">binaarset sortimist<\/a><\/noindex>. Kuid see ei pruugi kellelegi kasulik olla. Suhted nii suur- kui v\u00e4ikealgustel, samuti binaarsed sortimised peeti juba 1980. aastatel huvitavateks anahroonismideks koos helmeste, kaftanide ja lokkidega vuntsidega. N\u00fc\u00fcd on nende kasutamine peaaegu lubamatu. Otseses elus on 'moto' sama mis 'Moto'. Ja 'Britannia' ja 'britannia' on sama koht. V\u00e4ike t\u00e4ht on lihtsalt suure t\u00e4he vastav kirjutis. Ja \u00e4rge sundige mind r\u00e4\u00e4kima diakriitiliste m\u00e4rkide sortimisest. MongoDB andmebaasi loomisel kasutage sortimisvalikuid, mis ignoreerivad r\u00f5hutust ja <noindex><a rel=\"nofollow\" href=\"https:\/\/weblogs.sqlteam.com\/dang\/archive\/2009\/07\/26\/Collation-Hell-Part-1.aspx\">t\u00e4he suurust<\/a><\/noindex>, mis vastavad s\u00fcsteemi kasutajate <noindex><a rel=\"nofollow\" href=\"https:\/\/derickrethans.nl\/mongodb-collation-revised.html\">keelele ja kultuurile<\/a><\/noindex>. Nii lihtsustate oluliselt stringiandmete otsimist.<\/p>\n<h3>Kogud suurete dokumentidega loomine<\/h3>\n<p>\nMongoDB on \u00f5nnelik, et saab salvestada suuri dokumente, mille suurus on kuni 16 MB kollektsioonides, ja <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/gridfs\/#gridfs\">GridFS<\/a><\/noindex> on m\u00f5eldud dokumentidele, mis on suuremad kui 16 MB. Kuid see, et suuri dokumente saab seal salvestada, ei t\u00e4henda, et nende hoidmine seal oleks parim lahendus. MongoDB t\u00f6\u00f6tab paremini, kui salvestate eraldi dokumente, mille suurus on paar kilobaiti, k\u00e4sitledes neid pigem nagu veerge laias SQL-tabelis. Suured dokumendid v\u00f5ivad tekitada probleeme <noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/mongodb\/comments\/573fqr\/question_mongodb_terrible_performance_for_a\/\">t\u00f5hususe<\/a><\/noindex>.<\/p>\n<h3>Suurte massiividega dokumentide loomine <\/h3>\n<p>\nDokumendid v\u00f5ivad sisaldada massiive. Parim on, kui massiivi elementide arv on kaugel neljakohalisest numbrist. Kui massiivile lisatakse elemente sageli, suureneb see \u00fcle selle dokumenti, milles see asub, ja tuleb <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/data-model-operations\/#document-growth\">liikuda<\/a><\/noindex>, mis t\u00e4hendab, et tuleb <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/write-performance\/#document-growth\">uuendada ka indekseid<\/a><\/noindex>. Suure massiiviga dokumendi uuesti indekseerimise ajal kirjutatakse indeksid sageli \u00fcle, kuna iga elemendi jaoks on olemas <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/index-multikey\/\">kanne<\/a><\/noindex>, mis salvestab selle indeksi. See uuesti indekseerimine toimub ka siis, kui dokumenti lisatakse v\u00f5i eemaldatakse. <\/p>\n<p>MongoDB-s on nii kutsutud <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/mmapv1\/#record-allocation-strategies\">\u201et\u00e4ituvusm\u00e4\u00e4r\u201c<\/a><\/noindex>, mis on dokumentide kasvuks ruumi v\u00f5imaldav, et seda probleemi v\u00f5imalikult v\u00e4ikseks v\u00e4hendada. <br \/>\nV\u00f5ib-olla arvatakse, et ilma massiivide indekseerimiseta on v\u00f5imalik hakkama saada. Kahjuks v\u00f5ivad indekseerimise puudumise t\u00f5ttu tekkida teised probleemid. Kuna dokumendid vaadatakse l\u00e4bi algusest l\u00f5puni, siis elementide leidmine massiivi l\u00f5pus v\u00f5tab rohkem aega ja enamik operatsioone, mis on seotud sellise dokumendiga, on <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\">aeglased<\/a><\/noindex>. <\/p>\n<h3>\u00c4rge unustage, et aggregeerimise etappide j\u00e4rjekord on oluline<\/h3>\n<p>\nAndmebaasis\u00fcsteemis, kus on p\u00e4ringute optimeerija, on teie kirjutatud p\u00e4ringud seletused selle kohta, mida soovite saada, mitte kuidas seda saada. See t\u00f6\u00f6tab sarnaselt restoranis tellimisega: tavaliselt tellite lihtsalt roa, mitte ei anna kokale \u00fcksikasjalikke juhiseid.<\/p>\n<p>MongoDB-s annate te kokale juhiseid. N\u00e4iteks tuleb veenduda, et andmed l\u00e4bivad <code>reduce<\/code> nii varakult kui v\u00f5imalik torustikus, kasutades <code>$match<\/code> ja <code>$project<\/code>, ja sorteerimine toimub alles p\u00e4rast <code>reduce<\/code>, ja otsing toimub t\u00e4pselt sellises j\u00e4rjestuses, nagu vaja. K\u00fcsimuste optimeerija olemasolu, mis vabastab teid liigsetest \u00fclesannetest, j\u00e4rjestab etapid optimaalselt ja valib \u00fchendust\u00fc\u00fcbi, v\u00f5ib teid \u00e4ra hellitada. MongoDB-s on teil rohkem kontrolli mugavuse hinnaga.<\/p>\n<p>Sellised t\u00f6\u00f6riistad nagu <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/\">Studio 3T<\/a><\/noindex> lihtsustavad agregatsiooni p\u00e4ringute koostamist <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/knowledge-base\/articles\/build-mongodb-aggregation-queries\/\">MongoDB<\/a><\/noindex>. Aggregation Editori funktsioon v\u00f5imaldab teil rakendada torujuhtme operaatorite etappe \u00fckshaaval ning kontrollida iga etapi sisendeid ja v\u00e4ljundeid, et lihtsustada t\u00f5rkeotsingut. <\/p>\n<h3>Kiire kirjutamise kasutamine<\/h3>\n<p>\n\u00c4rge kunagi seadke MongoDB-s k\u00f5rge kiiruseta salvestamise seadeid, kuid madala usaldusv\u00e4\u00e4rsusega. See re\u017eiim <i>\u00abfile-and-forget\u00bb<\/i> tundub kiire, kuna k\u00e4sk naaseb enne, kui salvestus toimub. Kui s\u00fcsteem kokku kukub enne, kui andmed on kettale salvestatud, kaovad need ja j\u00e4\u00e4vad kokkusobimatuks. \u00d5nneks on 64-bitises MongoDB-s kaasas logimise funktsioon. <\/p>\n<p>MMAPv1 ja WiredTiger salvestusmasinad kasutavad selle v\u00e4ltimiseks logimist, kuigi WiredTiger suudab taastuda viimase \u00fcheseisundi <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/wiredtiger\/#storage-wiredtiger-checkpoints\">kontrollpunkti.<\/a><\/noindex>, kui logimine on v\u00e4ljas.<\/p>\n<p>Logimine tagab, et andmebaas j\u00e4\u00e4b taastamise ajal j\u00e4rjepidevusse ning s\u00e4ilitab k\u00f5ik andmed enne logimist. Kirjete sagedus seadistatakse parameetri kaudu <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/configuration-options\/#storage.journal.commitIntervalMs\">commitIntervalMs<\/a><\/noindex><\/code>. <\/p>\n<p>Veenduge, et logimine oleks konfiguratsioonifailis sisse l\u00fclitatud, et olla kindel kirjete olemasolus. <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/configuration-options\/#configuration-file\">(storage.journal.enabled<\/a><\/noindex>)<\/code>, ja et kirjete sagedus vastaks sellele teabe mahule, mille kaotamist te endale lubada saate.<\/p>\n<h3>Sorteerimine ilma indeksita<\/h3>\n<p>\nAndmete otsimisel ja kogumisel on sageli vajalik andmete sorteering. Loodame, et seda tehakse p\u00e4rast tulemuste filtreerimist, et v\u00e4hendada sorteeritavate andmete mahtu. I isegi sel juhul vajate te sorteerimiseks <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/knowledge-base\/articles\/mongodb-index-strategy\/\">indeksi<\/a><\/noindex>. Saate kasutada kas \u00fchtikut v\u00f5i koosnevat indeksit. <\/p>\n<p>Kui sobivat indeksit ei ole, siis MongoDB saab ilma selleta hakkama. Sortimise operatsioonide puhul on \u00fcldine dokumentide suuruse piir 32 MB <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.org\/manual\/reference\/limits\/#Sort-Operations\">\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438<\/a><\/noindex>, ja kui MongoDB saavutab selle piiri, siis kas annab ta veateate v\u00f5i tagastab ta <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sitepoint.com\/7-simple-speed-solutions-mongodb\/\">t\u00fchja andmete kogumi<\/a><\/noindex>.<\/p>\n<h3>Otsing ilma indeksite toeta<\/h3>\n<p>\nOtsingup\u00e4ringud t\u00e4idavad sarnast funktsiooni nagu JOIN operatsioon SQL-is. Parema t\u00f6\u00f6 saavutamiseks on neil vajalik v\u00f5tme v\u00e4\u00e4rtuse indeks, mida kasutatakse v\u00e4liseks v\u00f5tmemiseks. See ei ole ilmne, kuna kasutamine ei ole peegeldatud <code>explain()<\/code>. Sellised indeksid on lisand, millele on lisatud indeks <code>explain()<\/code>, mille omakorda kasutavad t\u00f6\u00f6tlusoperatsioonid <code>$match<\/code> ja <code>$sort<\/code>, kui need esinevad toru alguses. Indeksid v\u00f5ivad n\u00fc\u00fcd h\u00f5lmata mis tahes etappi <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/aggregation-pipeline\/#aggregation-pipeline-operators-and-performance\">aggregeerimise torustikus<\/a><\/noindex>. <\/p>\n<h3>Mitme uuendamise loobumine<\/h3>\n<p>\nMeetod <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/\">db.collection.update()<\/a><\/noindex><\/code> kasutatakse olemasoleva dokumendi osa v\u00f5i terviku muutmiseks, t\u00e4ieliku asendamise kuni teie poolt m\u00e4\u00e4ratud parameetrini <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/#update-parameter\">update<\/a><\/noindex><\/code>. Ei ole nii ilmne, et see ei t\u00f6\u00f6tle k\u00f5ik dokumendid kogus, kuni m\u00e4\u00e4rate parameetri <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/#multi-parameter\">multi<\/a><\/noindex><\/code> k\u00f5ikide dokumentide uuendamiseks, mis vastavad p\u00e4ringu kriteeriumidele.<\/p>\n<h3>\u00c4rge unustage v\u00f5tmete j\u00e4rjekorra t\u00e4htsust hash-tabelis<\/h3>\n<p>\nJSON-is koosneb objekt j\u00e4rjekorrastamata kogumist, mis sisaldab null v\u00f5i rohkem nime\/v\u00e4\u00e4rtuse paare, kus nimi on string ja v\u00e4\u00e4rtus v\u00f5ib olla string, number, loogiline v\u00e4\u00e4rtus, null, objekt v\u00f5i massiiv.<\/p>\n<p>Kahjuks on BSON-i puhul otsingus j\u00e4rjekord \u00e4\u00e4rmiselt oluline. MongoDB-s on sisseehitatud objektide v\u00f5tmete j\u00e4rjekord t\u00e4htis. <noindex><a rel=\"nofollow\" href=\"http:\/\/devblog.me\/wtf-mongo\">v\u00e4\u00e4rtus<\/a><\/noindex>, st. <code>{ firstname: &quot;Phil&quot;, surname: &quot;factor&quot; }<\/code> \u2013 see ei ole sama, mis <code>{ { surname: &quot;factor&quot;, firstname: &quot;Phil&quot; }<\/code>. See t\u00e4hendab, et peate dokumentides s\u00e4ilitama paaride nime\/v\u00e4\u00e4rtuse j\u00e4rjekorra, kui soovite olla kindel, et leiate need.<\/p>\n<h3>\u00c4rge segage kokku <i>\u201enull\u201c<\/i> ja <i>\u201eundefined\u201c<\/i><\/h3>\n<p>\nV\u00e4\u00e4rtus <i>\u201eundefined\u201c<\/i> ei ole kunagi olnud JSON-is lubatud, vastavalt <noindex><a rel=\"nofollow\" href=\"http:\/\/www.ecma-international.org\/publications\/files\/ECMA-ST\/ECMA-404.pdf\">ametlikule standardile<\/a><\/noindex> JSON (ECMA-404, jaotis 5), vaatamata sellele, et seda kasutatakse JavaScriptis. Veelgi enam, BSON-i puhul on see aegunud ja muudetakse <code>$null<\/code>, mis ei ole alati hea lahendus. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/meteor\/meteor\/issues\/1646#issuecomment-29682964\">V\u00e4ltige kasutamist <i>\u201eundefined\u201c<\/i> MongoDB-s<\/a><\/noindex>.<\/p>\n<h3>Kasutamine <code>$limit()<\/code> ilma <code>$sort()<\/code><\/h3>\n<p>\nSageli on MongoDB arendamisel kasulik lihtsalt n\u00e4ha, milline n\u00e4idis tulemus tuleb p\u00e4ringust v\u00f5i agregatsioonist. Selle \u00fclesande jaoks on teil vaja <code>$limit()<\/code>, kuid seda ei tohiks kunagi olla l\u00f5ppversioonis, v\u00e4lja arvatud siis, kui eelnevalt kasutate <code>$sort<\/code>. See mehhanika on vajalik, sest vastasel juhul ei saa te tulemuse j\u00e4rjekorda tagada ning ei saa andmeid usaldusv\u00e4\u00e4rselt vaadata. Tulemuse \u00fclaosas saate erinevaid kirjeid s\u00f5ltuvalt sorteerimisest. Usaldusv\u00e4\u00e4rse toimimise tagamiseks peavad p\u00e4ringud ja aggregeerimised olema deterministlikud, s.t. need peavad iga t\u00e4itmise korra jooksul andma samu tulemusi. Kood, milles on <code>$limit()<\/code>, aga ei ole <code>$sort<\/code>, ei ole deterministlik ja v\u00f5ib hiljem p\u00f5hjustada vigu, mida on raske j\u00e4lgida.<\/p>\n<h3>Kokkuv\u00f5te<\/h3>\n<p>\nAinus viis MongoDB's pettuda on v\u00f5rrelda seda otse m\u00f5ne teise andmebaasit\u00fc\u00fcbiga, n\u00e4iteks RDBMS-iga, v\u00f5i tulla selle kasutamise juurde mingite kindlate ootustega. See on nagu v\u00f5rrelda apelsine kahvliga. Andmebaasis\u00fcsteemid j\u00e4rgivad kindlaid eesm\u00e4rke. Parim on lihtsalt m\u00f5ista ja hinnata neid erinevusi. Oleks h\u00e4bi avaldada MongoDB arendajatele survet tee osas, mille nad RDBMS-i poole minnes ette v\u00f5tsid. Soovin n\u00e4ha uusi ja huvitavaid viise vanade probleemide lahendamiseks, nagu andmete terviklikkuse tagamine ja rikke- ja r\u00fcnnakukindlate andmes\u00fcsteemide loomine.<\/p>\n<p>MongoDB-sse versioonis 4.0 sisseehitatud ACID tehingute toimimine on hea n\u00e4ide oluliste uuenduste rakendamisest innovatiivsel viisil. Mitme dokumendi ja mitme operaatoriga tehingud on n\u00fc\u00fcd atomaarse iseloomuga. Samuti on v\u00f5imalik reguleerida aega, mis on vajalik lukustuste saamiseks, l\u00f5petada kinni j\u00e4\u00e4nud tehingud ning muuta isoleerimise taset.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/ZRL1\/\"><img decoding=\"async\" alt=\"14 asja, mida ma sooviksin teada MongoDB-ga t\u00f6\u00f6tamise alustamiseks\" src=\"\/wp-content\/uploads\/2020\/09\/9966ff2613efab52aac99c2a0eda5c87.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h3>Loe edasi:<\/h3>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/519340\/\">Kuidas andmeid Google BigQuery'sse laadida<\/a><\/noindex><\/li>\n<\/ul>\n<p>Allikas: <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\/et\/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=\"et_EE\" \/>\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\/et\/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 asja, mida ma oleksin soovinud teada enne MongoDB-ga alustamist | ProHoster","description":"Artikli t\u00f5lge on ette valmistatud enne kursuse \u201eNon-relatsioonilised andmebaasid\u201c algust. Peamised punktid: on \u00e4\u00e4rmiselt oluline v\u00e4lja t\u00f6\u00f6tada skeem, kuigi MongoDB-s see pole kohustuslik. Samuti peavad indeksid vastama teie skeemile ja juurdep\u00e4\u00e4sushablonitele. V\u00e4ltige suurte objektide ja massiivide kasutamist. Olge ettevaatlikud MongoDB seadistuste osas, eriti turvalisuse ja usaldusv\u00e4\u00e4rsuse teemadel. MongoDB-s","canonical_url":"https:\/\/prohoster.info\/et\/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":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/95148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=95148"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/95148\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/95149"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=95148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=95148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=95148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}