MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Дизайн на схема на MongoDB - нова колекция или справка?

Въведение:

Във вашия случай и двата варианта ще са добри, защото категорията е просто изброяване и не се нуждаете от зареждане на категория, за да покажете курс, просто трябва да създадете някакво изброяване и да получите име на категория по id.

Но например, ако имате таблица db.users и всеки потребител има колекция от db.courses, не е необходимо да създавате отделен документ, просто ви трябват вложени курсове за събиране. И това е наистина готино, защото в sql трябва да създадете отделна таблица с препратки от едно към много.

Едно голямо предимство на базата данни с документи е, че можете да създавате големи документи с вложени колекции и няма нужда да обединявате таблици.

Отговор:

Във вашия случай предлагам два начина:

  1. Създаване на изброяване за категории и получаване на име на категория по id (но без зареждане от mongo).
  2. Просто копирайте името на категорията в курса (но първо е по-добре, защото в случай че името на категорията е променено, трябва да актуализирате всеки курс с ново име на категория).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Защо Spark Mongo конекторът не натиска надолу филтрите?

  2. MongoDB $ pull

  3. MomentJS не преобразува датата правилно

  4. MongoDB $asin

  5. Актуализирайте масива, където съществува, или вмъкнете нов елемент от масива