MongoDb - Нет объединений: дубликат или уродливый запрос? - PullRequest
1 голос
/ 24 декабря 2011

Вот ситуация.Допустим, у меня есть стандартизированный предмет, такой как продукт, с пометкой.Допустим, каждый день я проверяю цену каждого sku в системе и записываю историю.Скажем также, что пользователи могут отслеживать отдельные интересующие их Skus.

В настоящее время я храню такие данные:

Пользователи Skus PriceHistory

У Skus есть списокиз всех заинтересованных пользователей, а также объект сводки с самой последней ценой и т. д. Поэтому, когда цена обновляется, мы пересматриваем и обновляем пометку.Для нормального просмотра вы просто тянете скуса, в которой есть пользователь.

Существует также график, который показывает историю ску, которую легко извлечь.

Проблема заключается в том, чтокогда я собираюсь показать график со всеми пользователями skus.Похоже, что сейчас у меня нет подходящего варианта (именно здесь SQL неожиданно кажется потрясающим).

Я могу либо а) сохранить список пользователей с каждой PriceHistory, либо я могу выполнить один запрос, чтобы получитьсписок skus для пользователя, а затем выполнить запрос типа 'или' по истории цен.

Или, может быть, есть лучший вариант?

1 Ответ

0 голосов
/ 24 декабря 2011

Если я правильно понимаю, вы делаете встроенные документы пользователей внутри объекта продукта.Если вам часто требуется прямой доступ к пользователю, возможно, вы используете не лучший дизайн.Вы по-прежнему можете делать отношения между документами, как в реляционной базе данных.Вам не нужно использовать встроенные документы.

Я не знаю вашу систему, чтобы судить, но вы можете рассмотреть возможность разделения двух документов и установления связи между ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...