Я только недавно стал пользоваться данными решениями. Давно хотел, но все не было проекта где можно было бы с ними поиграть. Ну вот теперь есть.
У меня такая проблема. Я не хочу переносить свой опыт с RDBM на NoSQL. Не хочу пытаться воспроизвести на Монго тоже что я длелал на MySQL. И вот как пример концепта такой вопрос.
Есть статья и есть ее рейтинги. У статьи может быть ну максимум 1000 рейтингов а в средем 100. Рейтинг это
{
"value": 20,
"user": new MongoId(),
"ip": "120.120.120.120",
"time": 123235656,
}
Я вижу несколько способов сохранить.
1. В стиле RDBM - это когда у меня 2-е колекции. В одной сохраняю статьи в другой рейтинги и в рейтенге ссылка на статью
2. Это тоже в разных коллекциях но немного по другому. Этот способ считаю возможнет только в NoSQL базах. Его можно воспроизвести на RDBM но так ни кто не делает. Это когда ссылка на рейтинг пишется не в рейтинге а в статье.
{
"name" : "Title",
"ratings: [
Object("ksdj7sdf7s8sd76gsdfd09g8h9f8gh"),
Object("ls78f0gh9gf0vbfx7x8v7c9v8b78c")
]
}
3. Ну и 3й способ это если просо польностью ретинг сохранять в документе статьи. Всего одна коллекция.
Какой подход был бы наиболее правильным?