I mongoose repræsenterer et skema strukturen af et bestemt dokument, enten helt eller kun en del af dokumentet. Det er en måde at udtrykke forventede egenskaber og værdier samt begrænsninger og indekser på. En model definerer en programmeringsgrænseflade til interaktion med databasen (læs, indsæt, opdatering osv.). Så et skema svarer "hvordan vil dataene i denne samling se ud?" og en model giver funktionalitet som "Er der nogen poster, der matcher denne forespørgsel?" eller "Tilføj et nyt dokument til samlingen".
I straight RDBMS er skemaet implementeret af DDL-sætninger (opret tabel, ændre tabel osv.), hvorimod der ikke er noget direkte koncept for en model, kun SQL-sætninger, der kan udføre meget fleksible forespørgsler (vælg sætninger) såvel som grundlæggende indsættelse, opdatering , slet handlinger.
En anden måde at tænke det på er karakteren af SQL, der giver dig mulighed for at definere en "model" for hver forespørgsel ved kun at vælge bestemte felter samt ved at sammenføje poster fra relaterede tabeller.
I andre ORM-systemer som Ruby on Rails er skemaet defineret via ActiveRecord-mekanismer, og modellen er de ekstra metoder, som din Model-underklasse tilføjer, som definerer yderligere forretningslogik.