MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mungo:Schema vs. Modell?

In Mongoose stellt ein Schema die Struktur eines bestimmten Dokuments dar, entweder vollständig oder nur einen Teil des Dokuments. Es ist eine Möglichkeit, erwartete Eigenschaften und Werte sowie Einschränkungen und Indizes auszudrücken. Ein Modell definiert eine Programmierschnittstelle für die Interaktion mit der Datenbank (Lesen, Einfügen, Aktualisieren usw.). Ein Schema antwortet also:"Wie werden die Daten in dieser Sammlung aussehen?" und ein Modell bietet Funktionen wie "Gibt es Datensätze, die dieser Abfrage entsprechen?" oder "Ein neues Dokument zur Sammlung hinzufügen".

In reinen RDBMS wird das Schema durch DDL-Anweisungen (Tabelle erstellen, Tabelle ändern usw.) implementiert, während es kein direktes Konzept eines Modells gibt, sondern nur SQL-Anweisungen, die hochflexible Abfragen (Auswahlanweisungen) sowie grundlegende Einfügungen und Aktualisierungen ausführen können , Vorgänge löschen.

Eine andere Möglichkeit, sich das vorzustellen, ist die Natur von SQL, die es Ihnen ermöglicht, ein "Modell" für jede Abfrage zu definieren, indem Sie nur bestimmte Felder auswählen und Datensätze aus verwandten Tabellen zusammenfügen.

In anderen ORM-Systemen wie Ruby on Rails wird das Schema über ActiveRecord-Mechanismen definiert und das Modell sind die zusätzlichen Methoden, die Ihre Modell-Unterklasse hinzufügt, die zusätzliche Geschäftslogik definieren.