{"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\/hu\/blog\/administrirovanie\/14-veshhej-kotorye-ya-hotel-by-znat-pered-nachalom-raboty-s-mongodb","title":{"rendered":"14 dolog, amit szerettem volna tudni a MongoDB haszn\u00e1lat\u00e1nak megkezd\u00e9se el\u0151tt","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>A cikk ford\u00edt\u00e1sa a kurzus megkezd\u00e9se el\u0151tt k\u00e9sz\u00fclt <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/ZRL1\/\">Nem rel\u00e1ci\u00f3s adatb\u00e1zisok<\/a><\/noindex>.<\/i><\/b><\/p>\n<p><img decoding=\"async\" alt=\"14 dolog, amit szerettem volna tudni a MongoDB haszn\u00e1lat\u00e1nak megkezd\u00e9se el\u0151tt\" src=\"\/wp-content\/uploads\/2020\/09\/9b4979be27e0090543b28150d90fa8df.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>F\u0151bb pontok:<\/p>\n<ul>\n<li>Nagyon fontos, hogy k\u00e9sz\u00edts\u00fcnk s\u00e9m\u00e1t, b\u00e1r a MongoDB-ben ez nem k\u00f6telez\u0151.<\/li>\n<li>Hasonl\u00f3k\u00e9ppen, az indexeknek is a s\u00e9m\u00e1hoz \u00e9s a hozz\u00e1f\u00e9r\u00e9si mint\u00e1khoz kell illeszkedni\u00fck. <\/li>\n<li>Ker\u00fclj\u00fck a nagy objektumok \u00e9s t\u00f6mb\u00f6k haszn\u00e1lat\u00e1t.<\/li>\n<li>Legy\u00fcnk \u00f3vatosak a MongoDB be\u00e1ll\u00edt\u00e1saival, k\u00fcl\u00f6n\u00f6sen a biztons\u00e1g \u00e9s megb\u00edzhat\u00f3s\u00e1g szempontj\u00e1b\u00f3l.<\/li>\n<li>A MongoDB-ben nincs lek\u00e9rdez\u00e9s-optimaliz\u00e1l\u00f3, ez\u00e9rt \u00f3vatosnak kell lenn\u00fcnk a lek\u00e9rdez\u00e9si m\u0171veletek v\u00e9grehajt\u00e1sakor.<\/li>\n<\/ul>\n<p>\nK\u00e9t \u00e9vtizede dolgozom adatb\u00e1zisokkal, de csak nemr\u00e9g ismertem meg a MongoDB-t. Van n\u00e9h\u00e1ny dolog, amit j\u00f3 lett volna tudni, miel\u0151tt elkezdtem foglalkozni vele. Amikor valakinek van tapasztalata egy adott ter\u00fcleten, hajlamosak vagyunk el\u0151\u00edt\u00e9letekkel viszonyulni az adatb\u00e1zisokhoz \u00e9s azok m\u0171k\u00f6d\u00e9s\u00e9hez. Az\u00e9rt, hogy m\u00e1soknak megk\u00f6nny\u00edtsem a meg\u00e9rt\u00e9st, \u00f6ssze\u00e1ll\u00edtottam egy gyakori hib\u00e1k list\u00e1j\u00e1t.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>MongoDB szerver l\u00e9trehoz\u00e1sa hiteles\u00edt\u00e9s n\u00e9lk\u00fcl<\/h3>\n<p>\nSajn\u00e1latos m\u00f3don a MongoDB alap\u00e9rtelmez\u00e9s szerint hiteles\u00edt\u00e9s n\u00e9lk\u00fcl telep\u00fcl. Egy olyan munka\u00e1llom\u00e1s eset\u00e9n, amelyhez helyben f\u00e9rnek hozz\u00e1, ez a gyakorlat norm\u00e1lis. De mivel a MongoDB egy t\u00f6bbfelhaszn\u00e1l\u00f3s rendszer, amely nagy mennyis\u00e9g\u0171 mem\u00f3ri\u00e1t ig\u00e9nyel, jobb, ha a szerverre a lehet\u0151 legnagyobb mem\u00f3ria ker\u00fcl, m\u00e9g akkor is, ha csak fejleszt\u00e9s c\u00e9lj\u00e1ra sz\u00e1njuk. Az alap\u00e9rtelmezett portra t\u00f6rt\u00e9n\u0151 telep\u00edt\u00e9s probl\u00e9m\u00e1s lehet, k\u00fcl\u00f6n\u00f6sen, ha a lek\u00e9rdez\u00e9s sor\u00e1n b\u00e1rminem\u0171 JavaScript k\u00f3dot v\u00e9grehajthatunk (p\u00e9ld\u00e1ul, <code>$where<\/code> \u00f6tletk\u00e9nt <noindex><a rel=\"nofollow\" href=\"https:\/\/lockmedown.com\/securing-node-js-mongodb-security-injection-attacks\/\">befecskendez\u00e9s<\/a><\/noindex>). <\/p>\n<p>T\u00f6bb hiteles\u00edt\u00e9si m\u00f3dszer l\u00e9tezik, de a legegyszer\u0171bb, ha egy felhaszn\u00e1l\u00f3nak ID\/jelsz\u00f3t \u00e1ll\u00edtunk be. Haszn\u00e1ljuk ezt az \u00f6tletet, m\u00edg nem gondolkodunk az \u00f6sszetettebb hiteles\u00edt\u00e9sen, mint a <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/security-ldap-external\/\">LDAP<\/a><\/noindex>. Ha a biztons\u00e1gr\u00f3l van sz\u00f3, akkor a MongoDB-t folyamatosan friss\u00edteni kell, \u00e9s a napl\u00f3kat mindig be kell n\u00e9zni az illet\u00e9ktelen hozz\u00e1f\u00e9r\u00e9s nyomaira. P\u00e9ld\u00e1ul engem mindig vonz m\u00e1s port haszn\u00e1lni az alap\u00e9rtelmezett helyett.<\/p>\n<h3>Ne felejtsd el \u00f6sszekapcsolni a t\u00e1mad\u00e1si fel\u00fcletet a MongoDB-vel<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/administration\/security-checklist\/\">MongoDB biztons\u00e1gi ellen\u0151rz\u0151 lista<\/a><\/noindex> j\u00f3 tan\u00e1csokat tartalmaz a h\u00e1l\u00f3zati behatol\u00e1s \u00e9s az adatveszt\u00e9s kock\u00e1zat\u00e1nak cs\u00f6kkent\u00e9s\u00e9re. K\u00f6nnyen el lehet hessegetni, \u00e9s azt mondani, hogy a fejleszt\u00e9si szervernek nincs sz\u00fcks\u00e9ge magas szint\u0171 biztons\u00e1gra. Azonban a helyzet nem ilyen egyszer\u0171, \u00e9s ez minden MongoDB szerverre vonatkozik. K\u00fcl\u00f6n\u00f6sen, ha nincs meggy\u0151z\u0151 oka a haszn\u00e1lat\u00e1nak. <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\">csoport<\/a><\/noindex><\/code> vagy <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/operator\/query\/where\/#op._S_where\">$where<\/a><\/noindex>, ki kell kapcsolni a JavaScript szabad k\u00f3d haszn\u00e1lat\u00e1t a konfigur\u00e1ci\u00f3s f\u00e1jlban t\u00f6rt\u00e9n\u0151 bejegyz\u00e9ssel. <code><noindex><a rel=\"nofollow\" href=\"https:\/\/lockmedown.com\/securing-node-js-mongodb-security-injection-attacks\/\">javascriptEnabled:false<\/a><\/noindex><\/code>. Mivel a standard MongoDB adatf\u00e1jljai nincsenek titkos\u00edtva, \u00e9rdemes a MongoDB-t a k\u00f6vetkez\u0151kkel futtatni: <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/administration\/security-checklist\/#run-mongodb-with-a-dedicated-user\">Dedik\u00e1lt Felhaszn\u00e1l\u00f3<\/a><\/noindex>, amelynek teljes hozz\u00e1f\u00e9r\u00e9se van a f\u00e1jlokhoz, korl\u00e1tozott hozz\u00e1f\u00e9r\u00e9ssel csak a sz\u00e1m\u00e1ra, \u00e9s a lehet\u0151s\u00e9ggel, hogy saj\u00e1t f\u00e1jlhozz\u00e1f\u00e9r\u00e9s-vez\u00e9rl\u0151 eszk\u00f6zeit haszn\u00e1lhassa az oper\u00e1ci\u00f3s rendszeren.<\/p>\n<h3>Hiba a s\u00e9ma megtervez\u00e9s\u00e9ben<\/h3>\n<p>\nA MongoDB nem haszn\u00e1l s\u00e9m\u00e1t. De ez nem jelenti azt, hogy a s\u00e9ma felesleges. Ha csak egyszer\u0171en dokumentumokat szeretne t\u00e1rolni b\u00e1rmif\u00e9le egys\u00e9ges s\u00e9ma n\u00e9lk\u00fcl, azokat gyorsan \u00e9s egyszer\u0171en lehet t\u00e1rolni, de k\u00e9s\u0151bb el\u0151h\u00edvni azokat <noindex><a rel=\"nofollow\" href=\"https:\/\/www.compose.com\/articles\/mongodb-with-and-without-schemas\/\">nagyon neh\u00e9z lehet.<\/a><\/noindex>. <\/p>\n<p>A klasszikus \"6 empirikus szab\u00e1ly a MongoDB s\u00e9m\u00e1k tervez\u00e9s\u00e9hez\"<i><noindex><a rel=\"nofollow\" href=\"https:\/\/www.mongodb.com\/blog\/post\/6-rules-of-thumb-for-mongodb-schema-design-part-1\">meg\u00e9ri elolvasni, \u00e9s az olyan funkci\u00f3k, mint a<\/a><\/noindex><\/i> Schema Explorer <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/knowledge-base\/articles\/schema-explorer\/\">a Studio 3T k\u00fcls\u0151 eszk\u00f6z\u00e9ben, \u00e9rdemes haszn\u00e1lni a s\u00e9m\u00e1k rendszeres ellen\u0151rz\u00e9s\u00e9re.<\/a><\/noindex> Ne felejtsd el a rendez\u00e9si sorrendet!<\/p>\n<h3>A rendez\u00e9si sorrend figyelmen k\u00edv\u00fcl hagy\u00e1sa a legnagyobb csal\u00f3d\u00e1st okozhatja, \u00e9s t\u00f6bb id\u0151t veszthet, mint b\u00e1rmilyen m\u00e1s hib\u00e1s konfigur\u00e1ci\u00f3 haszn\u00e1lata eset\u00e9n. Alap\u00e9rtelmez\u00e9s szerint a MongoDB<\/h3>\n<p>\nbinaris rendez\u00e9st <noindex><a rel=\"nofollow\" href=\"https:\/\/jira.mongodb.org\/browse\/SERVER-1920\">. De val\u00f3sz\u00edn\u0171leg senkinek sem lesz hasznos. A kis- \u00e9s nagybet\u0171 \u00e9rz\u00e9keny bin\u00e1ris rendez\u00e9sek a m\u00falt sz\u00e1zad 80-as \u00e9veiben \u00e9rdekes anakronizmusnak sz\u00e1m\u00edtottak a gy\u00f6ngy\u00f6kkel, kaft\u00e1nokkal \u00e9s g\u00f6nd\u00f6r bajuszokkal egy\u00fctt. Most azonban a haszn\u00e1latuk megengedhetetlen. A val\u00f3s \u00e9letben a \"motorbike\" ugyanazt jelenti, mint a \"Motorbike\". \u00c9s a \"Britannia\" \u00e9s a \"britannia\" ugyanazt a helyet jelenti. A kisbet\u0171 csak a nagybet\u0171 megfelel\u0151je. \u00c9s ne k\u00e9nyszer\u00edts arra, hogy besz\u00e9ljek a diakritikus jelek rendez\u00e9s\u00e9r\u0151l. A MongoDB adatb\u00e1zis l\u00e9trehoz\u00e1sakor haszn\u00e1lja a hangs\u00falyt\u00f3l \u00e9s<\/a><\/noindex>a kis- \u00e9s nagybet\u0171kt\u0151l f\u00fcggetlen rendez\u00e9si be\u00e1ll\u00edt\u00e1sokat, <noindex><a rel=\"nofollow\" href=\"https:\/\/weblogs.sqlteam.com\/dang\/archive\/2009\/07\/26\/Collation-Hell-Part-1.aspx\">amelyek megfelelnek a felhaszn\u00e1l\u00f3k rendszer\u00e9nek<\/a><\/noindex>nyelv\u00e9nek \u00e9s kult\u00far\u00e1j\u00e1nak. \u00cdgy jelent\u0151sen megk\u00f6nny\u00edti a sz\u00f6veges adatok keres\u00e9s\u00e9t. <noindex><a rel=\"nofollow\" href=\"https:\/\/derickrethans.nl\/mongodb-collation-revised.html\">Nagy dokumentumokkal rendelkez\u0151 gy\u0171jtem\u00e9nyek l\u00e9trehoz\u00e1sa<\/a><\/noindex>. Ezzel jelent\u0151sen megk\u00f6nny\u00edti a keres\u00e9st a sz\u00f6veges adatok k\u00f6z\u00f6tt.<\/p>\n<h3>Kolle p\u00e9ld\u00e1nyok l\u00e9trehoz\u00e1sa nagy dokumentumokkal<\/h3>\n<p>\nA MongoDB \u00f6r\u00f6mmel t\u00e1mogatja a 16 MB-ot el\u00e9r\u0151 nagy dokumentumok t\u00e1rol\u00e1s\u00e1t a kollekci\u00f3kban, \u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/gridfs\/#gridfs\">GridFS<\/a><\/noindex> a nagyobb, 16 MB-n\u00e1l nagyobb dokumentumok sz\u00e1m\u00e1ra k\u00e9sz\u00fclt. De m\u00e9g ha nagy dokumentumokat is t\u00e1rolhatunk ott, a t\u00e1rol\u00e1suk nem a legjobb \u00f6tlet. A MongoDB a legjobban \u00fagy m\u0171k\u00f6dik, ha t\u00f6bb kilobytes m\u00e9ret\u0171 egyedi dokumentumokat t\u00e1rolunk, amelyeket ink\u00e1bb sz\u00e9les SQL-t\u00e1bl\u00e1k sorainak tekint\u00fcnk. A nagy dokumentumok probl\u00e9m\u00e1kat fognak okozni <noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/mongodb\/comments\/573fqr\/question_mongodb_terrible_performance_for_a\/\">teljes\u00edtm\u00e9ny<\/a><\/noindex>.<\/p>\n<h3>Nagy t\u00f6mb\u00f6kkel rendelkez\u0151 dokumentumok l\u00e9trehoz\u00e1sa <\/h3>\n<p>\nA dokumentumok tartalmazhatnak t\u00f6mb\u00f6ket. A legjobb, ha a t\u00f6mb elemeinek sz\u00e1ma messze elmarad a n\u00e9gysz\u00e1mjegy\u0171 \u00e9rt\u00e9kt\u0151l. Ha az elemekhez gyakran adnak hozz\u00e1, a t\u00f6mb meghaladja a tartalmaz\u00f3 dokumentumot, \u00e9s azt <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/data-model-operations\/#document-growth\">\u00e1thelyezni<\/a><\/noindex>kell, ami azt jelenti, hogy <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/write-performance\/#document-growth\">friss\u00edteni kell az indexeket<\/a><\/noindex>. A nagy t\u00f6mb\u0171 dokumentum \u00fajraindexel\u00e9sekor az indexek gyakran fel\u00fcl\u00edr\u00f3dnak, mivel minden elemhez tartozik egy <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/index-multikey\/\">bejegyz\u00e9s<\/a><\/noindex>, amely az index\u00e9t t\u00e1rolja. Ez az \u00fajraindexel\u00e9s akkor is megt\u00f6rt\u00e9nik, amikor a dokumentumot beillesztik vagy elt\u00e1vol\u00edtj\u00e1k. <\/p>\n<p>A MongoDB-ben van egy \u00fagynevezett <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/mmapv1\/#record-allocation-strategies\">t\u00f6lt\u00e9si t\u00e9nyez\u0151<\/a><\/noindex>, amely helyet biztos\u00edt a dokumentumok n\u00f6veked\u00e9s\u00e9re, hogy minimaliz\u00e1lja ezt a probl\u00e9m\u00e1t. <br \/>\nGondolhatja, hogy meg lehet oldani a t\u00f6mb\u00f6k indexel\u00e9se n\u00e9lk\u00fcl. Sajnos, az indexek hi\u00e1nya m\u00e1s probl\u00e9m\u00e1khoz vezethet. Mivel a dokumentumokat elej\u00e9t\u0151l a v\u00e9g\u00e9ig n\u00e9zik \u00e1t, a t\u00f6mb v\u00e9g\u00e9n l\u00e9v\u0151 elemek keres\u00e9se t\u00f6bb id\u0151t fog ig\u00e9nybe venni, \u00e9s a dokumentumokkal kapcsolatos legt\u00f6bb m\u0171velet <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\">lass\u00fa<\/a><\/noindex>. <\/p>\n<h3>Ne feledje, hogy az aggreg\u00e1l\u00e1s f\u00e1zisainak sorrendje fontos<\/h3>\n<p>\nAz optimaliz\u00e1l\u00f3val rendelkez\u0151 adatb\u00e1zisban az \u00d6n \u00e1ltal \u00edrt lek\u00e9rdez\u00e9sek a k\u00edv\u00e1nt kimenet magyar\u00e1zatai, nem pedig a megszerz\u00e9s\u00e9nek m\u00f3dja. A mechanizmus hasonl\u00f3an m\u0171k\u00f6dik, mint egy \u00e9tteremben val\u00f3 rendel\u00e9s: \u00e1ltal\u00e1ban csak \u00e9teleket rendel, nem ad r\u00e9szletes utas\u00edt\u00e1sokat a szak\u00e1csnak.<\/p>\n<p>A MongoDB-ben \u00d6n instru\u00e1lja a szak\u00e1csot. P\u00e9ld\u00e1ul gy\u0151z\u0151dj\u00f6n meg arr\u00f3l, hogy az adatok a lehet\u0151 legkor\u00e1bban \u00e1thaladnak a <code>reduce<\/code> $match <code>\u00e9s<\/code> \u00e9s <code>$project<\/code>seg\u00edts\u00e9g\u00e9vel, \u00e9s a rendez\u00e9s csak k\u00e9s\u0151bb t\u00f6rt\u00e9nik. <code>reduce<\/code>, \u00e9s hogy a keres\u00e9s pontosan abban a sorrendben t\u00f6rt\u00e9nik, ahogyan sz\u00fcks\u00e9ge van r\u00e1. Egy lek\u00e9rdez\u00e9soptimaliz\u00e1l\u00f3 megl\u00e9te, amely megszabad\u00edtja a felesleges munk\u00e1t\u00f3l, optim\u00e1lisan rendezi a l\u00e9p\u00e9seket \u00e9s v\u00e1lasztja ki a kapcsolat t\u00edpus\u00e1t, elk\u00e9nyeztetheti \u00d6nt. A MongoDB-ben t\u00f6bb kontrollal rendelkezik az egyszer\u0171s\u00e9g \u00e1r\u00e1\u00e9rt.<\/p>\n<p>Az olyan eszk\u00f6z\u00f6k, mint <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/\">Studio 3T<\/a><\/noindex> megk\u00f6nny\u00edtik az aggreg\u00e1ci\u00f3s lek\u00e9rdez\u00e9sek l\u00e9trehoz\u00e1s\u00e1t a <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/knowledge-base\/articles\/build-mongodb-aggregation-queries\/\">MongoDB<\/a><\/noindex>. Az Aggreg\u00e1ci\u00f3s Szerkeszt\u0151 funkci\u00f3 lehet\u0151v\u00e9 teszi, hogy l\u00e9p\u00e9sr\u0151l l\u00e9p\u00e9sre alkalmazza a cs\u0151oper\u00e1torokat, valamint ellen\u0151rizze a bemeneti \u00e9s kimeneti adatokat minden l\u00e9p\u00e9sn\u00e9l a k\u00f6nnyebb hibakeres\u00e9s \u00e9rdek\u00e9ben. <\/p>\n<h3>A gyors \u00edr\u00e1s haszn\u00e1lata<\/h3>\n<p>\nSoha ne \u00e1ll\u00edtsa be a MongoDB-ben a gyors \u00edr\u00e1si be\u00e1ll\u00edt\u00e1sokat, amelyek gyorsak, de alacsony megb\u00edzhat\u00f3s\u00e1g\u00faak. Ez a m\u00f3d <i>\u201efile-and-forget\u201d<\/i> gyorsnak t\u0171nik, mivel a parancs visszat\u00e9r, miel\u0151tt a felv\u00e9tel megt\u00f6rt\u00e9nik. Ha a rendszer \u00f6sszeomlik, miel\u0151tt az adatok felker\u00fcln\u00e9nek a lemezre, elvesznek, \u00e9s inkonzisztens \u00e1llapotba ker\u00fclnek. Szerencs\u00e9re a 64 bites MongoDB-ben be van kapcsolva a napl\u00f3z\u00e1s. <\/p>\n<p>A MMAPv1 \u00e9s a WiredTiger t\u00e1rol\u00f3motorok napl\u00f3z\u00e1st haszn\u00e1lnak ennek megel\u0151z\u00e9s\u00e9re, b\u00e1r a WiredTiger vissza tud \u00e1llni az utols\u00f3 konzisztens <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/wiredtiger\/#storage-wiredtiger-checkpoints\">ellen\u0151rz\u00e9si pontra<\/a><\/noindex>, ha a napl\u00f3z\u00e1s ki van kapcsolva.<\/p>\n<p>A napl\u00f3z\u00e1s biztos\u00edtja, hogy az adatb\u00e1zis konzisztens \u00e1llapotban legyen a helyre\u00e1ll\u00edt\u00e1s ut\u00e1n, \u00e9s minden adatot t\u00e1rol, am\u00edg az napl\u00f3z\u00e1sra ker\u00fcl. A bejegyz\u00e9sek gyakoris\u00e1ga konfigur\u00e1lhat\u00f3 a <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/configuration-options\/#storage.journal.commitIntervalMs\">commitIntervalMs<\/a><\/noindex><\/code>. <\/p>\n<p>Annak \u00e9rdek\u00e9ben, hogy biztos legyen a bejegyz\u00e9sekben, gy\u0151z\u0151dj\u00f6n meg r\u00f3la, hogy a konfigur\u00e1ci\u00f3s f\u00e1jlban a napl\u00f3z\u00e1s be van kapcsolva <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/configuration-options\/#configuration-file\">(storage.journal.enabled<\/a><\/noindex>)<\/code>, \u00e9s a bejegyz\u00e9sek gyakoris\u00e1ga megfelel annak a mennyis\u00e9g\u0171 inform\u00e1ci\u00f3nak, amelyet el tud engedni.<\/p>\n<h3>Rendez\u00e9s index n\u00e9lk\u00fcl<\/h3>\n<p>\nKeres\u00e9s \u00e9s aggreg\u00e1l\u00e1s sor\u00e1n gyakran felmer\u00fcl a sz\u00fcks\u00e9g a adatok rendez\u00e9s\u00e9re. Rem\u00e9lj\u00fck, hogy ezt az utols\u00f3 l\u00e9p\u00e9sek egyikek\u00e9nt v\u00e9gzik, miut\u00e1n a tal\u00e1lati eredm\u00e9nyeket sz\u0171rt\u00e9k a rendezend\u0151 adatok mennyis\u00e9g\u00e9nek cs\u00f6kkent\u00e9se \u00e9rdek\u00e9ben. M\u00e9g ilyen esetben is sz\u00fcks\u00e9ge lesz a rendez\u00e9shez <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/knowledge-base\/articles\/mongodb-index-strategy\/\">indexre<\/a><\/noindex>. Haszn\u00e1lhat egyedi vagy \u00f6sszetett indexet. <\/p>\n<p>Ha nem \u00e1ll rendelkez\u00e9sre megfelel\u0151 index, a MongoDB an\u00e9lk\u00fcl is m\u0171k\u00f6dni fog. Van egy 32 MB-os mem\u00f3riahat\u00e1r az \u00f6sszes dokumentum \u00f6sszes\u00edtett m\u00e9ret\u00e9re a <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.org\/manual\/reference\/limits\/#Sort-Operations\">rendez\u00e9si m\u0171veletben<\/a><\/noindex>, \u00e9s ha a MongoDB el\u00e9rte ezt a hat\u00e1rt, akkor vagy hib\u00e1t ad vissza, vagy visszaad <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sitepoint.com\/7-simple-speed-solutions-mongodb\/\">\u00fcres adathalmoz\u00e1st<\/a><\/noindex>.<\/p>\n<h3>index n\u00e9lk\u00fcli keres\u00e9s<\/h3>\n<p>\nA keres\u00e9si lek\u00e9rdez\u00e9sek funkci\u00f3ja anal\u00f3g az SQL JOIN m\u0171velet\u00e9vel. Jobb m\u0171k\u00f6d\u00e9s \u00e9rdek\u00e9ben sz\u00fcks\u00e9g\u00fck van a kulcs\u00e9rt\u00e9k-indexre, amelyet k\u00fcls\u0151 kulcsk\u00e9nt haszn\u00e1lnak. Ez nem nyilv\u00e1nval\u00f3, mivel a haszn\u00e1lat nem t\u00fckr\u00f6z\u0151dik a <code>explain()<\/code>. Az ilyen indexek kieg\u00e9sz\u00edtik az indexet, amely a <code>explain()<\/code>, \u00e9s amelyet az aggreg\u00e1ci\u00f3s pipeline oper\u00e1torai haszn\u00e1lnak <code>\u00e9s<\/code> \u00e9s <code>$sort<\/code>, amikor az a pipeline elej\u00e9n tal\u00e1lkozik. Az indexek most b\u00e1rmely szakaszt lefedhetnek <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/aggregation-pipeline\/#aggregation-pipeline-operators-and-performance\">az aggreg\u00e1ci\u00f3s pipeline-ban<\/a><\/noindex>. <\/p>\n<h3>A t\u00f6bb friss\u00edt\u00e9s haszn\u00e1lat\u00e1nak elhagy\u00e1sa<\/h3>\n<p>\nM\u00f3dszer <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/\">db.collection.update()<\/a><\/noindex><\/code> a megl\u00e9v\u0151 dokumentum egy r\u00e9sz\u00e9nek vagy az eg\u00e9sz dokumentumnak a m\u00f3dos\u00edt\u00e1s\u00e1ra szolg\u00e1l, a megadott param\u00e9tert\u0151l f\u00fcgg\u0151en teljes cser\u00e9re is lehet\u0151s\u00e9g van <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/#update-parameter\">update<\/a><\/noindex><\/code>. Nem \u00edgy nyilv\u00e1nval\u00f3, hogy nem dolgozza fel az \u00f6sszes dokumentumot a gy\u0171jtem\u00e9nyben, am\u00edg nem \u00e1ll\u00edtja be a <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/#multi-parameter\">t\u00f6bb<\/a><\/noindex><\/code> param\u00e9tert az \u00f6sszes olyan dokumentum friss\u00edt\u00e9s\u00e9re, amely megfelel a lek\u00e9rdez\u00e9s krit\u00e9riumainak.<\/p>\n<h3>Ne feledje a kulcsok sorrendj\u00e9nek fontoss\u00e1g\u00e1t a hash-t\u00e1bl\u00e1ban<\/h3>\n<p>\nA JSON objektum egy rendezetlen kollekci\u00f3b\u00f3l \u00e1ll, amely nulla vagy ann\u00e1l t\u00f6bb n\u00e9v\/\u00e9rt\u00e9k p\u00e1rt tartalmaz, ahol a n\u00e9v egy karakterl\u00e1nc, az \u00e9rt\u00e9k pedig egy karakterl\u00e1nc, sz\u00e1m, logikai \u00e9rt\u00e9k, nulla, objektum vagy t\u00f6mb.<\/p>\n<p>Sajnos a BSON nagy jelent\u0151s\u00e9get tulajdon\u00edt a sorrendnek a keres\u00e9sek sor\u00e1n. A MongoDB-ben a be\u00e1gyazott objektumok kulcsainak sorrendje <noindex><a rel=\"nofollow\" href=\"http:\/\/devblog.me\/wtf-mongo\">\u00e9rt\u00e9ke<\/a><\/noindex>, azaz <code>{ firstname: \"Phil\", surname: \"factor\" }<\/code> nem ugyanaz, mint <code>{ { surname: \"factor\", firstname: \"Phil\" }}<\/code>. Teh\u00e1t meg kell \u0151riznie a dokumentumokban a n\u00e9v\/\u00e9rt\u00e9k p\u00e1rok sorrendj\u00e9t, ha biztos akar lenni abban, hogy megtal\u00e1lja \u0151ket.<\/p>\n<h3>Ne keverje \u00f6ssze a <i>null<\/i> \u00e9s <i>undefined<\/i><\/h3>\n<p>\nValue <i>undefined<\/i> soha nem volt \u00e9rv\u00e9nyes a JSON-ban a <noindex><a rel=\"nofollow\" href=\"http:\/\/www.ecma-international.org\/publications\/files\/ECMA-ST\/ECMA-404.pdf\">hivatalos standard szerint<\/a><\/noindex> JSON (ECMA-404, 5. szakasz), annak ellen\u00e9re, hogy a JavaScript-ben haszn\u00e1lj\u00e1k. Ezenk\u00edv\u00fcl a BSON sz\u00e1m\u00e1ra elavult, \u00e9s \u00e1talak\u00edt\u00e1sra ker\u00fcl <code>$null<\/code>, ami nem mindig j\u00f3 megold\u00e1s. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/meteor\/meteor\/issues\/1646#issuecomment-29682964\">Ker\u00fclje a haszn\u00e1lat\u00e1t <i>undefined<\/i> a MongoDB-ben<\/a><\/noindex>.<\/p>\n<h3>Haszn\u00e1lat <code>$limit()<\/code> n\u00e9lk\u00fcl <code>$sort()<\/code><\/h3>\n<p>\nNagyon gyakran, amikor a MongoDB-n bel\u00fcl fejleszt\u00e9st v\u00e9gez, hasznos egyszer\u0171en l\u00e1tni az eredm\u00e9nymint\u00e1t, amely vissza fog j\u00f6nni a lek\u00e9rdez\u00e9sb\u0151l vagy aggreg\u00e1l\u00e1sb\u00f3l. Ezen feladat elv\u00e9gz\u00e9s\u00e9hez hasznos lesz <code>$limit()<\/code>, de soha nem kellene a k\u00f3d v\u00e9gs\u0151 verzi\u00f3j\u00e1ban lennie, hacsak el\u0151tte nem haszn\u00e1l egyet. <code>$sort<\/code>. Ez a mechanika sz\u00fcks\u00e9ges, mivel k\u00fcl\u00f6nben nem garant\u00e1lhatja az eredm\u00e9nyek sorrendj\u00e9t, \u00e9s nem tud megb\u00edzhat\u00f3an adatokat megtekinteni. Az eredm\u00e9nyek tetej\u00e9n k\u00fcl\u00f6nb\u00f6z\u0151 bejegyz\u00e9seket kap, a rendez\u00e9st\u0151l f\u00fcgg\u0151en. A megb\u00edzhat\u00f3 m\u0171k\u00f6d\u00e9shez a lek\u00e9rdez\u00e9seknek \u00e9s aggreg\u00e1ci\u00f3knak determin\u00e1ltnak kell lenni\u00fck, azaz minden v\u00e9grehajt\u00e1skor ugyanazokat az eredm\u00e9nyeket kell adniuk. A k\u00f3dban, amelyben van <code>$limit()<\/code>, de nincs <code>$sort<\/code>, nem lesz determin\u00e1lt, \u00e9s ennek k\u00f6vetkezm\u00e9nyek\u00e9nt nehezen \u00e9szlelhet\u0151 hib\u00e1kat okozhat.<\/p>\n<h3>Z\u00e1r\u00e1s<\/h3>\n<p>\nAz egyetlen m\u00f3dja, hogy csal\u00f3djon a MongoDB-ben, ha k\u00f6zvetlen\u00fcl m\u00e1s t\u00edpus\u00fa adatb\u00e1zisokkal, mint p\u00e9ld\u00e1ul a rel\u00e1ci\u00f3s adatb\u00e1zisokkal hasonl\u00edtja \u00f6ssze, vagy bizonyos elv\u00e1r\u00e1sok alapj\u00e1n k\u00f6zel\u00edt a haszn\u00e1lat\u00e1hoz. Olyan ez, mintha egy narancsot egy vill\u00e1val hasonl\u00edtana \u00f6ssze. Az adatb\u00e1zis rendszerek bizonyos c\u00e9lokat szolg\u00e1lnak. A legjobb, ha egyszer\u0171en meg\u00e9rti \u00e9s \u00e9rt\u00e9keli ezeket a k\u00fcl\u00f6nbs\u00e9geket. K\u00e1r lenne nyom\u00e1st gyakorolni a MongoDB fejleszt\u0151ire a rel\u00e1ci\u00f3s adatb\u00e1zisok ir\u00e1ny\u00e1ba k\u00e9nyszer\u00edt\u0151 \u00fat miatt. Szeretn\u00e9m l\u00e1tni az \u00faj \u00e9s izgalmas m\u00f3dszereket a r\u00e9gi probl\u00e9m\u00e1k megold\u00e1s\u00e1ra, mint p\u00e9ld\u00e1ul az adatintegrit\u00e1s biztos\u00edt\u00e1sa \u00e9s a hib\u00e1kkal \u00e9s rosszindulat\u00fa t\u00e1mad\u00e1sokkal szemben ellen\u00e1ll\u00f3 adatkezel\u0151 rendszerek l\u00e9trehoz\u00e1sa.<\/p>\n<p>A MongoDB 4.0 verzi\u00f3j\u00e1ban bevezetett ACID tranzakci\u00f3s t\u00e1mogat\u00e1s j\u00f3 p\u00e9lda arra, hogy fontos fejleszt\u00e9seket innovat\u00edv m\u00f3don vezetnek be. Mostant\u00f3l a t\u00f6bbdokumentumos \u00e9s t\u00f6bboper\u00e1toros tranzakci\u00f3k atomikusak. Lehet\u0151s\u00e9g ny\u00edlik a z\u00e1rak megszerz\u00e9s\u00e9hez sz\u00fcks\u00e9ges id\u0151 szab\u00e1lyoz\u00e1s\u00e1ra, az akadoz\u00f3 tranzakci\u00f3k lez\u00e1r\u00e1s\u00e1ra \u00e9s az izol\u00e1ci\u00f3s szint m\u00f3dos\u00edt\u00e1s\u00e1ra is.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/ZRL1\/\"><img decoding=\"async\" alt=\"14 dolog, amit szerettem volna tudni a MongoDB haszn\u00e1lat\u00e1nak megkezd\u00e9se el\u0151tt\" src=\"\/wp-content\/uploads\/2020\/09\/9966ff2613efab52aac99c2a0eda5c87.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h3>Tov\u00e1bb olvasva:<\/h3>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/519340\/\">Hogyan t\u00f6ltheti fel az adatokat a Google BigQuery-be<\/a><\/noindex><\/li>\n<\/ul>\n<p>Forr\u00e1s: <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.3 - 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\/hu\/blog\/administrirovanie\/14-veshhej-kotorye-ya-hotel-by-znat-pered-nachalom-raboty-s-mongodb\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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\/hu\/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 dolog, amit szerettem volna tudni, miel\u0151tt elkezdem a MongoDB haszn\u00e1lat\u00e1t | ProHoster","description":"A cikk ford\u00edt\u00e1s\u00e1t a \u201eNem rel\u00e1ci\u00f3s adatb\u00e1zisok\u201d kurzus kezdete el\u0151tt k\u00e9sz\u00edtett\u00fck.","canonical_url":"https:\/\/prohoster.info\/hu\/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":"hu_HU","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\/hu\/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\/hu\/wp-json\/wp\/v2\/posts\/95148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=95148"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/95148\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/95149"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=95148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=95148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=95148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}