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

наследяване в база данни с документи?

Знам, че този отговор е малко закъснял, но за MongoDB вероятно гледате нещо малко по-различно.

Mongo е без схема, така че концепцията за "tablePerHierarchy" не е непременно полезна.

Приемете следното

class A
  property X
  property Y
  property Z

class B inherits from A
  property W

В RDMS вероятно ще имате нещо подобно

table A: columns X, Y, Z
table B: columns X, Y, Z, W

Но MongoDB няма схема. Така че не е необходимо да структурирате данните по този начин. Вместо това ще имате „колекция“, съдържаща всички обекти (или „документи“) от тип A или B (или C...).

Така че вашата колекция ще бъде поредица от обекти като този:

{"_id":"1", "X":1, "Y":2, "Z":3}
{"_id":"2", "X":5, "Y":6, "Z":7, "W":6}

Ще забележите, че съхранявам обекти от тип A точно до обекти от тип B. MongoDB прави това много лесно. Просто изтеглете документ от колекцията и той "магически" има всички подходящи полета/свойства.

Ако обаче имате „обекти с данни“ или „субекти“, можете да улесните живота си, като добавите тип.

{"_id":"1", "type":"A", "X":1, "Y":2, "Z":3}
{"_id":"2", "type":"B", "X":5, "Y":6, "Z":7, "W":6}

Това улеснява писането на фабричен клас за зареждане на вашите обекти.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Заявките на Mongoose за условие за дата нямат резултати, MongoDB Shell работи

  2. Относително импортиране на пакет в приложение на колба на python

  3. Mongoose създава връзка за поддръжка на множество наематели в node.js

  4. console.log не показва очакваните свойства на обекта

  5. Удостоверяването на MongoDB-CR не бе успешно