sql >> Database teknologi >  >> NoSQL >> MongoDB

arv i dokumentdatabase?

Jeg ved, at dette svar er lidt sent, men for MongoDB ser du sikkert på noget lidt anderledes.

Mongo er skemaløst, så konceptet "tablePerHierarchy" er ikke nødvendigvis brugbart.

Antag følgende

class A
  property X
  property Y
  property Z

class B inherits from A
  property W

I et RDMS ville du sandsynligvis have noget som dette

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

Men MongoDB har ikke et skema. Så du behøver ikke strukturere data på denne måde. I stedet ville du have en "samling" indeholdende alle objekter (eller "dokumenter") af type A eller B (eller C...).

Så din samling ville være en række objekter som denne:

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

Du vil bemærke, at jeg gemmer objekter af type A lige ved siden af ​​objekter af type B. MongoDB gør dette meget nemt. Bare træk et dokument op fra samlingen, og det har "magisk" alle de relevante felter/egenskaber.

Men hvis du har "dataobjekter" eller "enheder", kan du gøre dit liv lettere ved at tilføje en type.

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

Dette gør det nemmere at skrive en fabriksklasse til at indlæse dine objekter.



  1. mongodb tillader gæsteforbindelse, selv når godkendelse er aktiveret

  2. Hvilken NoSQL-database til ekstremt store datamængder

  3. Redis-serveren kan ikke køre mere end 1024M maxheap

  4. I et primært-sekundært Mongo db-sæt, hvis du ved et uheld skriver til et sekundært, ville det afspejle i primært det bliver dirigeret til primært