2016-01-21 2 views
2

Я новичок в MongoDB и mongoose, я читал, что mongodb не имеет схемы, но я также читал, что можно и рекомендуется определять схему. Зачем мне нужно определять схему, если db не требует ее?Зачем определять схему?

ответ

3

Поскольку чаще всего документы в вашей базе данных представляют собой экземпляры контейнеров с повторно используемыми объектами (прототипы/классы). Они обычно выглядят как минимум в основном похожими.

Хотя существует множество парадигм программирования, связанных с системами структуры объекта/типа (полиморфизм, [protoypical/multiple] наследование, утиная печать и т. Д.), Общий знаменатель состоит в том, что имеет смысл как-то упорядочить определенные поля данных вместе ,

Поскольку MongoDB не применяет строгую схему, он совместим практически со всеми этими парадигмами. При использовании MongoDB для хранения экземпляров повторно используемых типов контейнеров просто имеет смысл определить такую ​​схему, будь то потому, что она помогает оболочкам предлагать удобные методы, помощники проверки или вводить разумные значения по умолчанию.

Вы также можете использовать MongoDB как большую хэш-таблицу для документов JSON - в этом случае схема не имеет смысла.

Смежные вопросы