sql >> Databáze >  >> NoSQL >> MongoDB

Mongoose:Schéma vs model?

V mongoose schéma představuje strukturu konkrétního dokumentu, buď celý, nebo jen jeho část. Je to způsob, jak vyjádřit očekávané vlastnosti a hodnoty, stejně jako omezení a indexy. Model definuje programovací rozhraní pro interakci s databází (čtení, vkládání, aktualizace atd.). Schéma tedy odpovídá "jak budou vypadat data v této kolekci?" a model poskytuje funkce jako "Existují nějaké záznamy odpovídající tomuto dotazu?" nebo "Přidat nový dokument do sbírky".

V přímém RDBMS je schéma implementováno příkazy DDL (vytvořit tabulku, změnit tabulku atd.), zatímco neexistuje žádný přímý koncept modelu, pouze příkazy SQL, které mohou provádět vysoce flexibilní dotazy (výběr příkazů) a také základní vkládání, aktualizaci , odstranit operace.

Jiný způsob, jak si to představit, je, že povaha SQL vám umožňuje definovat "model" pro každý dotaz výběrem pouze určitých polí a také spojením záznamů ze souvisejících tabulek dohromady.

V jiných systémech ORM, jako je Ruby on Rails, je schéma definováno prostřednictvím mechanismů ActiveRecord a modelem jsou další metody, které vaše podtřída Model přidává a které definují další obchodní logiku.



  1. Ruční zadávání argumentů do dotazu MongoDB pro podporu funkce řazení (pro index nerozlišující malá a velká písmena)

  2. MongoDb C# GeoNear Query Construction

  3. Jak zjistím, zda se používá index

  4. SocketException:Adresa se již používá MONGODB