bir şema ya tamamen ya da belgenin bir kısmının, belirli bir dokümanın yapısını temsil eder. Beklenen özelliklerin ve değerlerin yanı sıra kısıt ve endeksleri ifade etmenin bir yolu. Bir model, veritabanıyla etkileşime girmek için bir programlama arabirimini tanımlar (okuma, ekleme, güncelleme, vb.). Şema, "bu koleksiyondaki veriler neye benzeyecek?" ve bir model "Bu sorgu ile eşleşen herhangi bir kayıt var mı?" gibi işlevsellik sağlar. veya "Koleksiyona yeni bir belge ekle".
Düz RDBMS'de, şema DDL deyimleri (tablo oluşturma, tablo değiştirme, vb.) Tarafından uygulanırken, doğrudan model kavramı yokken, yalnızca esnek deyimler (seçim deyimleri) gerçekleştirebilen SQL deyimleri vardır. temel ekleme, güncelleme, işlemleri sil.
düşünmek başka bir yolu da SQL doğası yalnızca belirli alanları seçerek hem de birlikte ilgili tablolardan kayıtları katılarak her bir sorgu için bir "model" tanımlamanızı sağlar olduğunu. Ruby on Rails gibi diğer ORM sistemlerinde
, şema ActiveRecord mekanizmalar üzerinden tanımlanır ve model ek iş mantığı tanımlamak için Model alt sınıf ekler ekstra yöntemler oluşturmaktadır. arasında
olası yinelenen [şemaları ve modelleri hem Gelincik var Neden?] (http://stackoverflow.com/questions/9127174/why-does-mongoose-have-both-schemas-and-models) – JohnnyHK
@JohnnyHK I Bu bir okuma yoluyla verdim, ama benim soru daha sonra eşdeğer postgresql iş akışına yöneliktir (tamamen Mongoose alanında bir tartışmadan ziyade) – dnv