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

MongoDB Schema Design - nowa kolekcja czy referencja?

Wprowadzenie:

W Twoim przypadku obydwa warianty będą dobre, ponieważ kategoria wystarczy wyliczyć i nie potrzebujesz kategorii obciążenia, aby wyświetlić kurs, wystarczy utworzyć wyliczenie i uzyskać nazwę kategorii po id.

Ale na przykład, jeśli masz tabelę db.users i każdy użytkownik ma kolekcję db.courses, nie musisz tworzyć oddzielnego dokumentu, wystarczy zagnieżdżone kursy kolekcji. I to jest naprawdę fajne, ponieważ w sql musisz utworzyć osobną tabelę z jednym do wielu odnośników.

Jedną wielką zaletą bazy danych dokumentów jest to, że możesz tworzyć duże dokumenty z zagnieżdżonymi kolekcjami i bez konieczności łączenia tabel.

Odpowiedź:

Więc w twoim przypadku proponuję dwa sposoby:

  1. Utwórz wyliczenie dla kategorii i uzyskaj nazwę kategorii według identyfikatora (ale nie ładuj z mongo).
  2. Po prostu skopiuj nazwę kategorii w kursie (ale pierwszy przypadek lepiej, ponieważ w przypadku zmiany nazwy kategorii musisz zaktualizować każdy kurs o nową nazwę kategorii).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Wstawianie zbiorcze (Bulk.insert) a wstawianie wielu (insert([...]))

  2. MongoDB $isoDayOfWeek

  3. 'TypeError:meme.find(...).forEach nie jest funkcją' w js węzła mangusty?

  4. Usługa OData przy użyciu NodeJS i JayData

  5. Co należy wiedzieć, kiedy rozpocząć pracę z MongoDB w środowisku produkcyjnym — dziesięć wskazówek