MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Mongusta:schemat kontra model?

W manguście schemat reprezentuje strukturę konkretnego dokumentu, w całości lub tylko w części dokumentu. Jest to sposób na wyrażenie oczekiwanych właściwości i wartości, a także ograniczeń i indeksów. Model definiuje interfejs programistyczny do interakcji z bazą danych (odczyt, wstawienie, aktualizacja itp.). Schemat odpowiada więc „jak będą wyglądać dane w tej kolekcji?” a model udostępnia funkcje, takie jak „Czy istnieją rekordy pasujące do tego zapytania?” lub „Dodaj nowy dokument do kolekcji”.

W prostych RDBMS schemat jest implementowany za pomocą instrukcji DDL (utwórz tabelę, zmień tabelę itp.), podczas gdy nie ma bezpośredniej koncepcji modelu, tylko instrukcje SQL, które mogą wykonywać wysoce elastyczne zapytania (wypowiedzi select), a także podstawowe wstawianie, aktualizowanie , usuń operacje.

Innym sposobem myślenia o tym jest to, że natura SQL pozwala zdefiniować „model” dla każdego zapytania, wybierając tylko określone pola, a także łącząc ze sobą rekordy z powiązanych tabel.

W innych systemach ORM, takich jak Ruby on Rails, schemat jest definiowany za pomocą mechanizmów ActiveRecord, a model to dodatkowe metody dodawane przez podklasę Model, które definiują dodatkową logikę biznesową.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Usuń według _id w konsoli MongoDB

  2. System plików tylko do odczytu podczas próby mkdir /data/db na Macu

  3. Budowanie sterownika mongo-cxx za pomocą CMake ExternalProject_Add

  4. Zarządzanie użytkownikami bazy danych za pomocą ClusterControl

  5. Czy istnieje sposób na odzyskanie ostatnio usuniętych dokumentów w MongoDB?