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

Qual è l'equivalente consigliato dell'eliminazione in cascata in MongoDB per le relazioni N:M?

Quello che stai facendo è il modo migliore e più ottimale per farlo a Mongo. Mi trovo in una situazione simile e dopo aver esaminato tutte le possibili implementazioni del modello di progettazione N:M, sono arrivato anche a questa stessa soluzione.

Apparentemente, questa non è una cosa mongodb, ma più un concetto di NoSQL, in cui i dati meno mutevoli (corsi) possono essere conservati separatamente. E poiché l'eliminazione di un corso non sarà un'operazione molto frequente, è abbastanza fattibile esaminare tutti i record per rimuoverlo.

D'altra parte, potresti lasciare che sia così com'è. Nella logica dell'applicazione, ignora semplicemente i valori di Corsi nel documento Studente che non hanno affatto un reference_id nel documento Corso. Ma in tal caso, devi assicurarti che i vecchi Course_id eliminati non vengano riutilizzati.

OPPURE usa semplicemente i flag eliminati sul documento del corso e gestisci tutto il resto nella logica dell'applicazione.