MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Quel est l'équivalent recommandé de la suppression en cascade dans MongoDB pour les relations N:M ?

Ce que vous faites est la meilleure et la plus optimale façon de le faire à Mongo. Je suis dans une situation similaire et après avoir parcouru toutes les implémentations possibles du modèle de conception N:M, je suis également arrivé à cette même solution.

Apparemment, ce n'est pas une chose mongodb, mais plutôt un concept de NoSQL, dans lequel les données les moins changeantes (cours) peuvent être conservées séparément. Et comme la suppression d'un cours ne sera pas une opération très fréquente, il est suffisamment faisable de parcourir tous les enregistrements pour le supprimer.

D'un autre côté, vous pouvez le laisser tel quel. Dans la logique de votre application, ignorez simplement les valeurs de Courses dans le document Student qui n'ont pas du tout de reference_id dans le document Course. Mais dans ce cas, vous devez vous assurer que les anciens Course_id supprimés ne sont pas réutilisés.

OU utilisez simplement les indicateurs supprimés sur le document du cours et gérez tout le reste dans la logique de votre application.