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

Progettazione di schemi MongoDB - Nuova raccolta o riferimento?

Introduzione:

Nel tuo caso entrambe le varianti andranno bene perché la categoria è solo l'enumerazione e non hai bisogno di caricare la categoria per visualizzare il corso, devi solo creare un po' di enumerazione e ottenere il nome della categoria per ID.

Ma ad esempio, se hai la tabella db.users e ogni utente ha una raccolta di db.courses, non è necessario creare un documento separato, hai solo bisogno di corsi di raccolta nidificati. Ed è davvero fantastico perché in sql è necessario creare una tabella separata con riferimenti da uno a molti.

L'unico grande vantaggio del database dei documenti è che puoi creare documenti di grandi dimensioni con raccolte nidificate e non è necessario unire le tabelle.

Risposta:

Quindi nel tuo caso suggerisco due modi:

  1. Crea un'enumerazione per le categorie e ottieni il nome della categoria per id (ma non carica da mongo).
  2. Copia semplicemente il nome della categoria nel corso (ma meglio il primo caso perché nel caso in cui il nome della categoria fosse cambiato è necessario aggiornare ogni corso con un nuovo nome della categoria).