sql >> Database >  >> NoSQL >> MongoDB

Mangoest:schema versus model?

In mangoest vertegenwoordigt een schema de structuur van een bepaald document, hetzij volledig, hetzij slechts een deel van het document. Het is een manier om verwachte eigenschappen en waarden uit te drukken, evenals beperkingen en indexen. Een model definieert een programmeerinterface voor interactie met de database (lezen, invoegen, bijwerken, enz.). Dus een schema antwoordt "hoe zullen de gegevens in deze verzameling eruit zien?" en een model biedt functionaliteit zoals "Zijn er records die overeenkomen met deze zoekopdracht?" of "Voeg een nieuw document toe aan de verzameling".

In gewoon RDBMS wordt het schema geïmplementeerd door DDL-instructies (tabel maken, tabel wijzigen, enz.), terwijl er geen direct concept van een model is, alleen SQL-instructies die zeer flexibele query's kunnen uitvoeren (select-statements), evenals elementaire insertie, update , bewerkingen verwijderen.

Een andere manier om erover na te denken is dat de aard van SQL u in staat stelt om een ​​"model" voor elke query te definiëren door alleen bepaalde velden te selecteren en records uit gerelateerde tabellen samen te voegen.

In andere ORM-systemen, zoals Ruby on Rails, wordt het schema gedefinieerd via ActiveRecord-mechanismen en het model is de extra methoden die uw subklasse Model toevoegt die aanvullende bedrijfslogica definiëren.



  1. 3 manieren om documenten te sorteren in MongoDB

  2. Hoe de functie aan te roepen na voltooiing van asynchrone functies in de lus?

  3. Hoe de structuur van MongoDB's kaartverminderende resultaten veranderen?

  4. Hoe tel je het aantal sleutels dat overeenkomt met een patroon?