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

Външни ключове в монго?

Как да проектирам таблица като тази в mongodb?

Първо, да изясня някои конвенции за именуване. MongoDB използва collections вместо tables .

Мисля, че няма външни ключове!

Вземете следния модел:

student
{ 
  _id: ObjectId(...),
  name: 'Jane',
  courses: [
    { course: 'bio101', mark: 85 },
    { course: 'chem101', mark: 89 }
  ]
}

course
{
  _id: 'bio101',
  name: 'Biology 101',
  description: 'Introduction to biology'
}

Очевидно списъкът с курсове на Джейн сочи към някои специфични курсове. Базата данни не прилага никакви ограничения към системата (т.е.:ограничения на външния ключ ), така че няма "каскадни изтривания" или "каскадни актуализации". Въпреки това базата данни съдържа правилната информация.

В допълнение, MongoDB има стандарт DBRef, който помага да се стандартизира създаването на тези препратки. Всъщност, ако погледнете тази връзка, тя има подобен пример.

Как мога да реша тази задача?

За да бъде ясно, MongoDB не е релационен. Няма стандартна "нормална форма". Трябва да моделирате вашата база данни според данните, които съхранявате, и заявките, които възнамерявате да изпълнявате.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Отпечатване на изхода на заявката на Mongo във файл, докато сте в mongo shell

  2. Как автоматизацията на базата данни на MongoDB подобрява сигурността

  3. MongoDB $currentDate

  4. Как да създадете индекс със специфично име в MongoDB

  5. Метод MongoDB Date().