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

MongoDB Schema Design - Ny samling eller reference?

Introduktion:

I dit tilfælde vil begge varianter være gode, fordi kategori kun opremsning og du behøver ikke indlæse kategori for at vise kursus, du skal bare oprette en opregning og få kategorinavn efter id.

Men hvis du f.eks. har table db.users og hver bruger har en samling af db.courses, behøver du ikke oprette et separat dokument, du skal bare bruge indlejrede samlingskurser. Og det er virkelig fedt, for i sql skal du oprette en separat tabel med en til mange reference.

Den ene store fordel ved dokumentdatabasen er, at du kan oprette store dokumenter med indlejrede samlinger og uden behov for at forbinde tabeller.

Svar:

Så i dit tilfælde foreslår jeg to måder:

  1. Opret opregning for kategorier og få kategorinavn efter id (men ikke indlæs fra mongo).
  2. Kopiér bare kategorinavnet i kurset (Men første store og små bogstaver er bedre, fordi hvis kategorinavnet blev ændret, skal du opdatere hvert kursus med nyt kategorinavn).



  1. Fjern dubletter fra MongoDB 4.2-databasen

  2. Hvad er forskellen mellem metoden insert(), insertOne() og insertMany()?

  3. node-mongodb-native MongoClient lukker uventet forbindelser

  4. Mongodb type referenceknude