MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jaki jest zalecany odpowiednik usuwania kaskadowego w MongoDB dla relacji N:M?

To, co robisz, jest najlepszym i najbardziej optymalnym sposobem robienia tego w Mongo. Jestem w podobnej sytuacji i po przejściu wszystkich możliwych implementacji wzorca projektowego N:M również doszedłem do tego samego rozwiązania.

Najwyraźniej nie jest to rzecz mongodb, ale raczej koncepcja NoSQL, w której mniej zmieniające się dane (Kursy) można przechowywać osobno. A ponieważ usunięcie Kursu nie będzie częstą operacją, wystarczy przejrzeć wszystkie rekordy, aby go usunąć.

Z drugiej strony możesz pozwolić, aby było tak, jak jest. W logice aplikacji po prostu zignoruj ​​wartości Kursy w dokumencie Student, które w ogóle nie mają identyfikatora referencyjnego w dokumencie Kurs. Ale w takim przypadku musisz upewnić się, że stare usunięte identyfikatory Course_id nie są ponownie wykorzystywane.

LUB po prostu użyj usuniętych flag w dokumencie Kursu i obsłuż wszystko inne w logice aplikacji.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sortowanie według maksymalnego pola tablicy, rosnąco lub malejąco

  2. Sortowanie agregacji addToSet wynik

  3. Wskaźnik potrójnego związku Mongo

  4. Czy ktoś próbował MongoDB w Google App Engine?

  5. MongoDB $weeklyUpdate #65 (15 kwietnia 2022):GDELT, Mongoose i czas na Hackathon!