MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB начинаещ - да се нормализира или да не се нормализира?

Опитайте този подход:

Разберете кой субект (или субекти) са героите

С „герой“ имам предвид субекта(ите), около който е центрирана базата данни. Да вземем вашия пример. Героят на примера с недвижими имоти е къщата*.

Разберете собствеността

Прегледайте другите субекти, като собственик, агенция, изображения и рецензии и се запитайте дали има смисъл да поставяте тяхната информация заедно с къщата. Бихте ли имали каскадно изтриване на някой от външните ключове във вашата релационна база данни? Ако е така, тогава това предполага собственост.

Разберете дали действително има значение данните да са денормализирани

Ще имате подробности за агенцията (и вероятно собственика), разпределени в множество къщи. Това има ли значение?

Вашата домашна колекция вероятно ще изглежда така:

house: {
owner,
agency,
images[], // recommend references to GridFS here
reviews[] // you probably won't get too many of these for a single house
}

*Всъщност това вероятно е рекламата на къщата (тъй като къщите обикновено се рекламират на уебсайт за недвижими имоти и вероятно това наистина сте се интересувам от), така че просто помислете за това



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodump от отдалечен възел - не може да се удостовери чрез механизъм SCRAM-SHA-256

  2. MongoDB масив за търсене на обекти по поле (условия за присъединяване и некорелирани подзаявки)

  3. Как да премахна документ с вградена схема в mongoose?

  4. Възможно ли е да се използва проекция на заявка за същата колекция, която има проекция $elemMatch?

  5. Документация на ClusterControl 1.5 – Какво е новото