MongoDB архитектурный вопрос - PullRequest
0 голосов
/ 11 марта 2010

Я использую Rails и должен хранить 4 модели. Допустим, пост, который имеет много и принадлежит ко многим категориям. Категория с другой стороны имеет много качеств. На данный момент я считаю, что почта и категории являются документами. Качества становятся встроенным документом категорий.

Мы подходим к коренной проблеме: Есть много голосов по качествам, которые принадлежат посту. Я думал о том, чтобы встроить голоса в пост и дать ему quality_id.

Я действительно ожидаю много голосов, и должна быть возможность отфильтровать их (например, по имени пользователя / группе пользователей / дате голосования). Я работал с MongoMapper и думаю, что отсутствие методов поиска для встроенных документов может стать убийцей. Что делать, если я хочу предоставить сообщение без всех голосов, но только несколько.

С другой стороны, я беспокоюсь о проблемах производительности. Что если я определю собственный документ для голосования и буду иметь тонны документов для голосования?

1 Ответ

0 голосов
/ 11 марта 2010

В MongoDB нет объединения, поэтому иметь встроенный документ интересно, если вы всегда видите этот документ у его родителя.

Вы можете осуществлять поиск по внедренному документу с MongoDB, так что нет проблем, если вы хотите ограничить все качества с большим количеством голосов.

...