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

Come organizzare una relazione molti a molti in MongoDB

Quello che ho visto fare e quello che uso attualmente sono array incorporati con ID nodo in ogni documento.

Quindi l'utente del documento1 ha gruppi di proprietà:[id1,id2]

E il gruppo di documenti1 ha utenti di proprietà:[utente1]. Il gruppo di documenti2 ha anche utenti di proprietà:[utente1].

In questo modo ottieni un oggetto Gruppo e selezioni facilmente tutti gli utenti correlati, e lo stesso per l'Utente.

Questo richiede un po' più di lavoro durante la creazione e l'aggiornamento dell'oggetto. Quando dici che 2 oggetti sono correlati, devi aggiornare entrambi gli oggetti.

C'è anche un concetto DBReferences in MongoDB e, a seconda del tuo driver, estrarrà automaticamente gli oggetti di riferimento durante il recupero di un documento.

http://www.mongodb.org/display/DOCS/Database+References#DatabaseReferences-DBRef