sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB Schema Design - Ny samling eller referens?

Introduktion:

I ditt fall kommer båda varianterna att vara bra eftersom kategori bara uppräkning och du behöver inte ladda kategori för att visa kurs, du behöver bara skapa en uppräkning och få kategorinamn efter id.

Men om du till exempel har tabell db.users och varje användare har en samling av db.courses behöver du inte skapa separata dokument utan behöver bara kapslade samlingskurser. Och det är riktigt häftigt eftersom du i sql behöver skapa en separat tabell med en till många referenser.

Den enda stora fördelen med dokumentdatabasen är att du kan skapa stora dokument med kapslade samlingar och inget behov av att sammanfoga tabeller.

Svar:

Så i ditt fall föreslår jag två sätt:

  1. Skapa uppräkning för kategorier och få kategorinamn efter id (men ladda inte från mongo).
  2. Kopiera bara kategorinamnet i kursen (Men första fallet är bättre eftersom om kategorinamnet ändrades behöver du uppdatera varje kurs med ett nytt kategorinamn).



  1. mongoDB distinkt &var i samma fråga?

  2. Distinct()-kommandot används med skip() och limit()

  3. Vad är snabbare:`find().limit(1)` eller `findOne()` i MongoDB/Mongoose?

  4. Finns det något sätt att använda MongoDB-frågeobjekt för att filtrera vanliga JavaScript-matriser?