sql >> Databasteknik >  >> NoSQL >> MongoDB

arv i dokumentdatabas?

Jag vet att det här svaret är lite sent, men för MongoDB tittar du förmodligen på något lite annorlunda.

Mongo är schemalöst, så konceptet "tabellperhierarki" är inte nödvändigtvis användbart.

Antag följande

class A
  property X
  property Y
  property Z

class B inherits from A
  property W

I ett RDMS skulle du förmodligen ha något liknande

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

Men MongoDB har inget schema. Du behöver alltså inte strukturera data på detta sätt. Istället skulle du ha en "samling" som innehåller alla objekt (eller "dokument") av typ A eller B (eller C...).

Så din samling skulle vara en serie objekt som detta:

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

Du kommer att märka att jag lagrar objekt av typ A precis bredvid objekt av typ B. MongoDB gör detta mycket enkelt. Dra bara upp ett dokument från samlingen så har det "magiskt" alla lämpliga fält/egenskaper.

Men om du har "dataobjekt" eller "entiteter" kan du göra ditt liv enklare genom att lägga till en typ.

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

Detta gör det lättare att skriva en fabriksklass för att ladda dina objekt.



  1. Parse server - Filen hittades inte

  2. Geonear sortera efter avstånd och tid

  3. Express.js/Mongoose användarroller och behörigheter

  4. mongoose:returnerar endast nycklar från ett dokument