Задать вопрос
@daclip

Нормальна ли такая денормализация в Mongodb?

Добрый день. Недавно начал использовать MongoDb и возник вопрос о денормализации.

Вводные
MediaCollection
{
 "_id": ObjectId("5584367e44ae3e41ad5481a3"),
 "createdAt": ISODate("2015-06-19T15:34:22.927Z"),
 "title" : "CD",
 "properties": [
   {"title": "format", value: "digital"},
   {"title": "material", value: "plastic"}
  ]
}
{
 "_id": ObjectId("5584367e44ae3e41ad5481a4"),
 "createdAt": ISODate("2015-06-19T15:34:22.927Z"),
 "title" : "Vinyl",
 "properties": [
   {"title": "format", "value": "analog"},
   {"title": "material", "value": "vinyl"},
   {"title": "size", "value": "12in"},
  ]
}


MusicCollection
{
 "_id": ObjectId("5584367e44ae3e41ad5481a8"),
 "createdAt": ISODate("2015-06-19T15:34:22.927Z"),
 "artist" : "Pink Floyd",
  "title": "The Wall",
 "properties": [
   {"title": "year", value: "1988"},
   {"title": "style", value: "Rock"}
  ],
  "media": {
    "_id": ObjectId("5584367e44ae3e41ad5481a4"),
    "createdAt": ISODate("2015-06-19T15:34:22.927Z"),
    "title" : "Vinyl",
    "properties": [
      {"title": "format", "value": "analog"},
      {"title": "material", "value": "vinyl"},
      {"title": "size", "value": "12in"},
     ]
   }
}


Вопросы:
1. Нормальна ли такая сильная денормализация для MongoDb?
2. Нормально ли при изменении какого-либо документа в MediaCollection делать update поля media во всех записях MusicCollection?
  • Вопрос задан
  • 370 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
dizballanze
@dizballanze
Software developer at Yandex
Это слишком, имхо, в данном случае лучше добавлять ObjectID из MediaCollection.
Каких-то преимуществ в такой декомпозиции не вижу, зато проблем оч много.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы