{"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\/de\/blog\/administrirovanie\/14-veshhej-kotorye-ya-hotel-by-znat-pered-nachalom-raboty-s-mongodb","title":{"rendered":"14 Dinge, die ich gerne gewusst h\u00e4tte, bevor ich mit MongoDB beginne","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b><i>Der Artikel wurde im Vorfeld des Kurses erstellt <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/ZRL1\/\">\u201eNicht-relationale Datenbanken\u201c<\/a><\/noindex>.<\/i><\/b><\/p>\n<p><img decoding=\"async\" alt=\"14 Dinge, die ich gerne gewusst h\u00e4tte, bevor ich mit MongoDB beginne\" src=\"\/wp-content\/uploads\/2020\/09\/9b4979be27e0090543b28150d90fa8df.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Wesentliche Punkte:<\/p>\n<ul>\n<li>Es ist extrem wichtig, ein Schema zu entwickeln, auch wenn es in MongoDB nicht zwingend erforderlich ist.<\/li>\n<li>Ebenso sollten die Indizes auf Ihr Schema und die Zugriffs Muster abgestimmt sein. <\/li>\n<li>Vermeiden Sie die Verwendung gro\u00dfer Objekte und gro\u00dfer Arrays.<\/li>\n<li>Seien Sie vorsichtig mit den Einstellungen von MongoDB, insbesondere in Bezug auf Sicherheit und Zuverl\u00e4ssigkeit.<\/li>\n<li>In MongoDB gibt es keinen Abfrageoptimierer, daher sollten Sie vorsichtig bei der Ausf\u00fchrung von Abfragevorg\u00e4ngen sein.<\/li>\n<\/ul>\n<p>\nIch arbeite seit langer Zeit mit Datenbanken, habe aber erst vor Kurzem MongoDB entdeckt. Es gibt einige Dinge, die ich gerne gewusst h\u00e4tte, bevor ich damit arbeite. Wenn jemand in einem bestimmten Bereich Erfahrung hat, hat er vorgefasste Meinungen dar\u00fcber, was Datenbanken sind und was sie tun. Um anderen das Verst\u00e4ndnis zu erleichtern, pr\u00e4sentiere ich eine Liste h\u00e4ufiger Fehler.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Einen MongoDB-Server ohne Authentifizierung erstellen<\/h3>\n<p>\nLeider wird MongoDB standardm\u00e4\u00dfig ohne Authentifizierung installiert. F\u00fcr eine Workstation, die lokal zug\u00e4nglich ist, ist diese Praxis \u00fcblich. Da MongoDB jedoch ein Mehrbenutzersystem ist, das gro\u00dfe Mengen an Speicher ben\u00f6tigt, ist es ratsam, es auf einem Server mit maximal m\u00f6glichem RAM f\u00fcr Ihre Gegebenheiten zu installieren, auch wenn Sie es nur f\u00fcr die Entwicklung nutzen m\u00f6chten. Die Installation auf einem Server \u00fcber den Standardport kann problematisch sein, insbesondere wenn in Anfragen beliebiger Code in JavaScript ausgef\u00fchrt werden kann (zum Beispiel, <code>$where<\/code> als Idee f\u00fcr <noindex><a rel=\"nofollow\" href=\"https:\/\/lockmedown.com\/securing-node-js-mongodb-security-injection-attacks\/\">eine Injektion<\/a><\/noindex>). <\/p>\n<p>Es gibt verschiedene Authentifizierungsmethoden, aber am einfachsten ist es, f\u00fcr den Benutzer ID\/Passwort festzulegen. Nutzen Sie diese Idee, w\u00e4hrend Sie \u00fcber eine ausgekl\u00fcgelte Authentifizierung auf Basis von <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/security-ldap-external\/\">LDAP<\/a><\/noindex>nachdenken. Wenn es um Sicherheit geht, sollte MongoDB st\u00e4ndig aktualisiert werden, und die Protokolle sollten immer auf unbefugten Zugriff \u00fcberpr\u00fcft werden. Mir pers\u00f6nlich gef\u00e4llt es, einen anderen Port als den Standardport zu w\u00e4hlen.<\/p>\n<h3>Vergessen Sie nicht, die Angriffsfl\u00e4che an MongoDB zu binden.<\/h3>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/administration\/security-checklist\/\">Sicherheits-Checkliste f\u00fcr MongoDB<\/a><\/noindex> enth\u00e4lt wertvolle Tipps zur Minderung des Risikos von Netzwerkangriffen und Datenlecks. Es ist leicht zu sagen, dass ein Entwicklungsserver kein hohes Sicherheitsniveau ben\u00f6tigt. Doch die Realit\u00e4t ist komplizierter, und dies gilt f\u00fcr alle MongoDB-Server. Insbesondere, wenn es keinen triftigen Grund gibt, die <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\">group<\/a><\/noindex><\/code> oder <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/operator\/query\/where\/#op._S_where\">$where<\/a><\/noindex>, sollte die Ausf\u00fchrung von beliebigem JavaScript-Code durch eine Konfiguration in der Datei deaktiviert werden. <code><noindex><a rel=\"nofollow\" href=\"https:\/\/lockmedown.com\/securing-node-js-mongodb-security-injection-attacks\/\">javascriptEnabled:false<\/a><\/noindex><\/code>. Da in der Standard-MongoDB die Datendateien nicht verschl\u00fcsselt sind, ist es ratsam, MongoDB mit <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/administration\/security-checklist\/#run-mongodb-with-a-dedicated-user\">dediziertem Benutzer<\/a><\/noindex>, der vollen Zugriff auf die Dateien hat, aber nur eingeschr\u00e4nkten Zugang f\u00fcr ihn selbst und die M\u00f6glichkeit bietet, eigene Zugriffssteuerungsmittel des Betriebssystems zu nutzen, zu betreiben.<\/p>\n<h3>Fehler bei der Schema-Entwicklung<\/h3>\n<p>\nMongoDB verwendet kein Schema. Doch das hei\u00dft nicht, dass kein Schema erforderlich ist. Wenn Sie einfach Dokumente ohne ein konsistentes Schema speichern m\u00f6chten, ist dies schnell und einfach m\u00f6glich, jedoch kann es sp\u00e4ter <noindex><a rel=\"nofollow\" href=\"https:\/\/www.compose.com\/articles\/mongodb-with-and-without-schemas\/\">\u00e4u\u00dferst schwierig sein, sie abzurufen.<\/a><\/noindex>. <\/p>\n<p>Der klassische Artikel \u201e<i><noindex><a rel=\"nofollow\" href=\"https:\/\/www.mongodb.com\/blog\/post\/6-rules-of-thumb-for-mongodb-schema-design-part-1\">6 empirische Regeln zur Gestaltung von MongoDB-Schemas\u201c<\/a><\/noindex><\/i> ist lesenswert, und Funktionen wie <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/knowledge-base\/articles\/schema-explorer\/\">Schema-Explorer<\/a><\/noindex> Im externen Tool Studio 3T sollte f\u00fcr regelm\u00e4\u00dfige \u00dcberpr\u00fcfungen von Schemata verwendet werden.<\/p>\n<h3>Vergessen Sie nicht die Sortierreihenfolge<\/h3>\n<p>\nWenn Sie die Sortierreihenfolge ignorieren, k\u00f6nnen Sie am meisten entt\u00e4uscht werden und mehr Zeit verlieren als bei jeder anderen falschen Konfiguration. Standardm\u00e4\u00dfig verwendet MongoDB <noindex><a rel=\"nofollow\" href=\"https:\/\/jira.mongodb.org\/browse\/SERVER-1920\">bin\u00e4re Sortierung<\/a><\/noindex>. Aber das wird kaum jemandem n\u00fctzen. Gro\u00df- und Kleinschreibung sowie bin\u00e4re Sortierungen wurden bereits in den 80er Jahren des letzten Jahrhunderts als kuriose Anachronismen betrachtet, zusammen mit Perlen, Kaftanen und gewellten Schnurrb\u00e4rten. Ihre Verwendung ist heutzutage nicht mehr tragbar. In der Realit\u00e4t sind \"Motorrad\" und \"motorrad\" dasselbe. Und \"Britannien\" und \"britannien\" sind der gleiche Ort. Kleinbuchstaben sind einfach das kleine \u00c4quivalent von Gro\u00dfbuchstaben. Und lassen Sie mich nicht \u00fcber die Sortierung von diakritischen Zeichen sprechen. Bei der Erstellung einer Datenbank in MongoDB verwenden Sie Sortierparameter, die keine Akzent- und <noindex><a rel=\"nofollow\" href=\"https:\/\/weblogs.sqlteam.com\/dang\/archive\/2009\/07\/26\/Collation-Hell-Part-1.aspx\">Gro\u00df-\/Kleinschreibung<\/a><\/noindex>, die der Sprache und <noindex><a rel=\"nofollow\" href=\"https:\/\/derickrethans.nl\/mongodb-collation-revised.html\">Kultur der Nutzer des Systems entsprechen.<\/a><\/noindex>So erleichtern Sie die Suche nach Zeichenfolgendaten erheblich.<\/p>\n<h3>Erstellung von Sammlungen mit gro\u00dfen Dokumenten<\/h3>\n<p>\nMongoDB kann gro\u00dfe Dokumente mit einer Gr\u00f6\u00dfe von bis zu 16 MB in Sammlungen speichern, w\u00e4hrend <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/gridfs\/#gridfs\">GridFS<\/a><\/noindex> f\u00fcr Dokumente \u00fcber 16 MB ausgelegt ist. Allerdings ist es nicht ideal, gro\u00dfe Dokumente dort zu speichern, nur weil es m\u00f6glich ist. MongoDB arbeitet am effektivsten, wenn Sie separate Dokumente von wenigen Kilobyte speichern, die man eher als Zeilen in einer breiten SQL-Tabelle betrachtet. Gro\u00dfe Dokumente k\u00f6nnen Probleme verursachen mit <noindex><a rel=\"nofollow\" href=\"https:\/\/www.reddit.com\/r\/mongodb\/comments\/573fqr\/question_mongodb_terrible_performance_for_a\/\">Leistung<\/a><\/noindex>.<\/p>\n<h3>Dem Erstellen von Dokumenten mit gro\u00dfen Arrays <\/h3>\n<p>\nDokumente k\u00f6nnen Arrays enthalten. Es ist am besten, wenn die Anzahl der Elemente im Array weit von einer vierstelligen Zahl entfernt ist. Wenn Elemente h\u00e4ufig zum Array hinzugef\u00fcgt werden, kann es das enthaltene Dokument \u00fcbersteigen, und es muss <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/data-model-operations\/#document-growth\">verschoben werden<\/a><\/noindex>, was bedeutet, dass es <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/write-performance\/#document-growth\">aktualisiert werden muss, und auch die Indizes<\/a><\/noindex>. Bei der erneuten Indizierung eines Dokuments mit einem gro\u00dfen Array werden die Indizes oft \u00fcberschrieben, da f\u00fcr jedes Element eine <noindex><a rel=\"nofollow\" href=\"http:\/\/docs.mongodb.org\/manual\/core\/index-multikey\/\">Aufzeichnung<\/a><\/noindex>vorliegt, die seinen Index speichert. Eine solche erneute Indizierung findet auch statt, wenn ein Dokument eingef\u00fcgt oder gel\u00f6scht wird. <\/p>\n<p>In MongoDB gibt es den sogenannten <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/mmapv1\/#record-allocation-strategies\">\u201eF\u00fcllfaktor\u201c<\/a><\/noindex>, der Platz f\u00fcr das Wachstum von Dokumenten bietet, um dieses Problem zu minimieren. <br \/>\nSie denken vielleicht, dass Sie auf die Indizierung von Arrays verzichten k\u00f6nnen. Leider kann das Fehlen von Indizes andere Probleme mit sich bringen. Da die Dokumente von Anfang bis Ende durchgesehen werden, wird die Suche nach Elementen am Ende des Arrays mehr Zeit in Anspruch nehmen, und die meisten Operationen, die mit solch einem Dokument verbunden sind, werden <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\">langsam<\/a><\/noindex>. <\/p>\n<h3>Denken Sie daran, dass die Reihenfolge der Stufen in der Aggregation wichtig ist.<\/h3>\n<p>\nIn einem Datenbanksystem mit einem Abfrageoptimierer sind die Abfragen, die Sie schreiben, Erkl\u00e4rungen daf\u00fcr, was Sie erhalten m\u00f6chten, und nicht daf\u00fcr, wie Sie es bekommen. Es funktioniert \u00e4hnlich wie eine Bestellung im Restaurant: Normalerweise bestellen Sie einfach ein Gericht und geben nicht dem Koch detaillierte Anweisungen.<\/p>\n<p>In MongoDB weisen Sie den Koch an. Zum Beispiel sollten Sie sicherstellen, dass die Daten durch <code>reduce<\/code> so fr\u00fch wie m\u00f6glich im Pipeline-Prozess mit Hilfe von <code>$match<\/code> und <code>$project<\/code>, und die Sortierung erfolgt erst danach. <code>reduce<\/code>, und dass die Suche genau in der Reihenfolge erfolgt, die Sie ben\u00f6tigen. Ein Abfrageoptimierer, der \u00fcberfl\u00fcssige Arbeiten vermeidet, die Schritte optimal anordnet und den Typ der Verbindung ausw\u00e4hlt, kann Ihnen verw\u00f6hnen. Bei MongoDB haben Sie mehr Kontrolle \u00fcber den Preis des Komforts.<\/p>\n<p>Tools wie <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/\">Studio 3T<\/a><\/noindex> vereinfachen den Aufbau von Aggregationsabfragen in <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/knowledge-base\/articles\/build-mongodb-aggregation-queries\/\">MongoDB<\/a><\/noindex>. Der Aggregation Editor erm\u00f6glicht es Ihnen, Pipeline-Operatoren Schritt f\u00fcr Schritt anzuwenden und die Eingangs- und Ausgangsdaten auf jeder Stufe zur Vereinfachung des Debuggings zu \u00fcberpr\u00fcfen. <\/p>\n<h3>Verwendung der schnellen Schreibweise<\/h3>\n<p>\nSetzen Sie in MongoDB niemals Schreibparameter mit hoher Geschwindigkeit und niedriger Zuverl\u00e4ssigkeit ein. Dieser Modus <i>\u201efile-and-forget\u201c<\/i> scheint schnell zu sein, da der Befehl zur\u00fcckgegeben wird, bevor die Schreiboperation stattfindet. Wenn das System abst\u00fcrzt, bevor die Daten auf die Festplatte geschrieben wurden, gehen sie verloren und befinden sich in einem inkonsistenten Zustand. Gl\u00fccklicherweise ist in der 64-Bit-Version von MongoDB das Logging aktiviert. <\/p>\n<p>Die Speicher-Engines MMAPv1 und WiredTiger verwenden Logging, um dies zu verhindern, obwohl WiredTiger bis zum letzten konsistenten <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/wiredtiger\/#storage-wiredtiger-checkpoints\">Kontrollpunkt wiederhergestellt werden kann.<\/a><\/noindex>, wenn das Logging deaktiviert ist.<\/p>\n<p>Das Logging gew\u00e4hrleistet, dass die Datenbank nach einer Wiederherstellung in einem konsistenten Zustand bleibt und alle Daten bis zum Protokolleintrag speichert. Die H\u00e4ufigkeit der Eintr\u00e4ge kann mit dem Parameter <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/configuration-options\/#storage.journal.commitIntervalMs\">commitIntervalMs<\/a><\/noindex><\/code>. <\/p>\n<p>Um sicherzustellen, dass die Aufzeichnungen stimmen, \u00fcberpr\u00fcfen Sie bitte, ob das Logging in der Konfigurationsdatei aktiviert ist <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/configuration-options\/#configuration-file\">(storage.journal.enabled<\/a><\/noindex>)<\/code>, und dass die H\u00e4ufigkeit der Eintr\u00e4ge dem Informationsvolumen entspricht, das Sie sich leisten k\u00f6nnen zu verlieren.<\/p>\n<h3>Sortierung ohne Index<\/h3>\n<p>\nBei der Suche und Aggregation besteht oft die Notwendigkeit, Daten zu sortieren. Wir hoffen, dass dies in einem der letzten Schritte erfolgt, nachdem das Ergebnis gefiltert wurde, um das zu sortierende Datenvolumen zu verringern. Und selbst dann ben\u00f6tigen Sie f\u00fcr die Sortierung <noindex><a rel=\"nofollow\" href=\"https:\/\/studio3t.com\/knowledge-base\/articles\/mongodb-index-strategy\/\">Index<\/a><\/noindex>. Sie k\u00f6nnen einen einfachen oder zusammengesetzten Index verwenden. <\/p>\n<p>Wenn kein geeigneter Index vorhanden ist, kommt MongoDB ohne ihn aus. Es gibt eine Speicherkapazit\u00e4tsbeschr\u00e4nkung von 32 MB f\u00fcr die Gesamtheit aller Dokumente in der <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.org\/manual\/reference\/limits\/#Sort-Operations\">Sortieroperation<\/a><\/noindex>, und wenn MongoDB diese Grenze erreicht, gibt sie entweder einen Fehler aus oder gibt zur\u00fcck <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sitepoint.com\/7-simple-speed-solutions-mongodb\/\">eine leere Ergebnismenge<\/a><\/noindex>.<\/p>\n<h3>Suche ohne Unterst\u00fctzung von Indizes<\/h3>\n<p>\nSuchanfragen erf\u00fcllen eine Funktion, die der JOIN-Operation in SQL \u00e4hnelt. F\u00fcr eine optimale Leistung ben\u00f6tigen sie einen Schl\u00fcsselwertindex, der als Fremdschl\u00fcssel verwendet wird. Das ist nicht offensichtlich, da die Verwendung nicht in <code>explain()<\/code>. Solche Indizes sind eine Erg\u00e4nzung zu dem Index, der in <code>explain()<\/code>verzeichnet ist, welcher wiederum von den Pipeline-Operatoren genutzt wird <code>$match<\/code> und <code>$sort<\/code>, wenn sie am Anfang der Pipeline auftreten. Indizes k\u00f6nnen jetzt jede Stufe <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/core\/aggregation-pipeline\/#aggregation-pipeline-operators-and-performance\">der Aggregationspipeline abdecken.<\/a><\/noindex>. <\/p>\n<h3>Der Verzicht auf Multi-Updates<\/h3>\n<p>\nMethode <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/\">db.collection.update()<\/a><\/noindex><\/code> wird verwendet, um einen Teil eines bestehenden Dokuments oder das gesamte Dokument zu \u00e4ndern, bis hin zur vollst\u00e4ndigen Ersetzung, abh\u00e4ngig von dem von Ihnen festgelegten Parameter <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/#update-parameter\">Aktualisieren<\/a><\/noindex><\/code>. Es ist nicht so offensichtlich, dass es nicht alle Dokumente in der Sammlung verarbeitet, bis Sie den Parameter <code><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.mongodb.com\/manual\/reference\/method\/db.collection.update\/#multi-parameter\">Multi<\/a><\/noindex><\/code> aktivieren, um alle Dokumente zu aktualisieren, die den Abfragekriterien entsprechen.<\/p>\n<h3>Vergessen Sie nicht, wie wichtig die Reihenfolge der Schl\u00fcssel in einer Hash-Tabelle ist.<\/h3>\n<p>\nIn JSON besteht ein Objekt aus einer ungeordneten Sammlung von null oder mehr Schl\u00fcssel\/Wert-Paaren, wobei der Schl\u00fcssel eine Zeichenkette ist und der Wert eine Zeichenkette, eine Zahl, ein boolescher Wert, null, ein Objekt oder ein Array sein kann.<\/p>\n<p>Leider spielt BSON bei der Suche eine gro\u00dfe Rolle in Bezug auf die Reihenfolge. In MongoDB hat die Reihenfolge der Schl\u00fcssel innerhalb von eingebetteten Objekten <noindex><a rel=\"nofollow\" href=\"http:\/\/devblog.me\/wtf-mongo\">Bedeutung<\/a><\/noindex>, d.h. <code>{ firstname: &quot;Phil&quot;, surname: &quot;factor&quot; }<\/code> ist nicht dasselbe wie <code>{ { surname: &quot;factor&quot;, firstname: &quot;Phil&quot; }<\/code>. Das bedeutet, dass Sie die Reihenfolge der Schl\u00fcssel\/Werte in den Dokumenten beibehalten m\u00fcssen, wenn Sie sicherstellen m\u00f6chten, dass Sie sie finden.<\/p>\n<h3>Verwechseln Sie nicht <i>\"null\"<\/i> und <i>\"undefined\"<\/i><\/h3>\n<p>\nBedeutung <i>\"undefined\"<\/i> was laut dem <noindex><a rel=\"nofollow\" href=\"http:\/\/www.ecma-international.org\/publications\/files\/ECMA-ST\/ECMA-404.pdf\">offiziellen Standard<\/a><\/noindex> JSON (ECMA-404, Abschnitt 5) niemals in JSON erlaubt war, obwohl es in JavaScript verwendet wird. Dar\u00fcber hinaus ist es in BSON veraltet und wird in <code>$null<\/code>, was nicht immer die beste L\u00f6sung ist. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/meteor\/meteor\/issues\/1646#issuecomment-29682964\">Vermeiden Sie die Verwendung von <i>\"undefined\"<\/i> in MongoDB<\/a><\/noindex>.<\/p>\n<h3>Nutzung <code>$limit()<\/code> ohne <code>$sort()<\/code><\/h3>\n<p>\nSehr oft, wenn Sie in MongoDB entwickeln, ist es hilfreich, einfach ein Beispiel f\u00fcr das Ergebnis zu sehen, das aus einer Abfrage oder Aggregation zur\u00fcckgegeben wird. F\u00fcr diese Aufgabe ist <code>$limit()<\/code>, aber es sollte niemals in der endg\u00fcltigen Version des Codes sein, es sei denn, Sie verwenden davor <code>$sort<\/code>. Diese Mechanik ist erforderlich, da Sie sonst die Ergebnisse nicht in einer garantierten Reihenfolge erhalten und die Daten nicht zuverl\u00e4ssig durchsuchen k\u00f6nnen. Je nach Sortierung erhalten Sie unterschiedliche Datens\u00e4tze an oberster Stelle. F\u00fcr eine zuverl\u00e4ssige Funktion m\u00fcssen Abfragen und Aggregationen deterministisch sein, das hei\u00dft, sie m\u00fcssen bei jeder Ausf\u00fchrung die gleichen Ergebnisse liefern. Der Code, in dem es <code>$limit()<\/code>, aber nicht <code>$sort<\/code>, ist nicht deterministisch und kann sp\u00e4ter Fehler verursachen, die schwer zu verfolgen sind.<\/p>\n<h3>Fazit<\/h3>\n<p>\nDer einzige Weg, in Bezug auf MongoDB entt\u00e4uscht zu sein, ist, sie direkt mit einem anderen Datenbanktyp, wie einer relationalen Datenbank, zu vergleichen oder sie mit bestimmten Erwartungen zu nutzen. Das ist so, als w\u00fcrde man eine Orange mit einer Gabel vergleichen. Datenbanksysteme verfolgen spezifische Ziele. Am besten ist es, diese Unterschiede zu verstehen und f\u00fcr sich selbst zu bewerten. Es w\u00e4re schade, die Entwickler von MongoDB aufgrund des Weges, den sie in Richtung relationaler Datenbanken gegangen sind, unter Druck zu setzen. Ich m\u00f6chte neue und interessante Ans\u00e4tze zur L\u00f6sung alter Probleme sehen, wie die Gew\u00e4hrleistung der Datenintegrit\u00e4t und den Aufbau von datensicheren Systemen, die sowohl gegen Ausf\u00e4lle als auch gegen Angriffe von Dritten gewappnet sind.<\/p>\n<p>Die Einf\u00fchrung der ACID-Transaktionsf\u00e4higkeit in MongoDB Version 4.0 ist ein gutes Beispiel f\u00fcr die Implementierung wichtiger Verbesserungen auf innovative Weise. Multidokument- und Multi-Operator-Transaktionen sind jetzt atomar. Zudem gibt es die M\u00f6glichkeit, die Zeit, die f\u00fcr das Erhalten von Sperren ben\u00f6tigt wird, zu steuern, h\u00e4ngende Transaktionen zu beenden und das Isolationsniveau anzupassen.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/ZRL1\/\"><img decoding=\"async\" alt=\"14 Dinge, die ich gerne gewusst h\u00e4tte, bevor ich mit MongoDB beginne\" src=\"\/wp-content\/uploads\/2020\/09\/9966ff2613efab52aac99c2a0eda5c87.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<h3>Weiterlesen:<\/h3>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/519340\/\">Daten in Google BigQuery laden<\/a><\/noindex><\/li>\n<\/ul>\n<p>Quelle: <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\/de\/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=\"de_DE\" \/>\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\/de\/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 Dinge, die ich gerne gewusst h\u00e4tte, bevor ich mit MongoDB begonnen habe | ProHoster","description":"Der Artikel wurde im Vorfeld des Starts des Kurses \u201eNoSQL-Datenbanken\u201c verfasst. Wichtige Punkte: Es ist extrem wichtig, ein Schema zu entwickeln, auch wenn es in MongoDB nicht zwingend erforderlich ist. Ebenso sollten die Indizes mit Ihrem Schema und den Zugriffsmustern \u00fcbereinstimmen. Vermeiden Sie die Verwendung gro\u00dfer Objekte und umfangreicher Arrays. Seien Sie vorsichtig mit den MongoDB-Einstellungen, insbesondere in Bezug auf Sicherheit und Zuverl\u00e4ssigkeit. In MongoDB.","canonical_url":"https:\/\/prohoster.info\/de\/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":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/95148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=95148"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/95148\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/95149"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=95148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=95148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=95148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}