Я просмотрел большинство статей по разработке схемы mongodb на веб-сайте mongo и большинство вопросов здесь, на SO.Есть еще один вариант использования, который я не выяснил.Глядя на эти учебные пособия, они обычно ссылаются на проблему комментариев к статье и проблему товаров / категорий.Я хочу выяснить, как смоделировать отношения один ко многим (автор к постам) при запросе списка постов.Вот пример схемы:
Users: {
_id: ObjectID
Name: String
Email: String
}
Posts: {
_id: ObjectID
user_id: ObjectID
body: String
comments: [
body: String
]
}
Теперь предположим, что вы хотите выполнить запрос для последних 10 сообщений.Довольно простой запрос, но теперь у вас есть сообщения с возможностью каждого из них иметь уникальный ObjectID, указывающий на пользователя.Теперь, как вам следует получить имя и адрес электронной почты каждого пользователя для сообщения.
Если вы создадите массив ObjectID из пользовательского запроса из запроса сообщений, а затем выполните запрос db.users.find ({_id: {$ in: PostsUserIDArray}});После этого вы будете использовать логику приложения, чтобы сопоставить правильную информацию о пользователе с правильным сообщением?
Если вы сохраните копию данных в сообщениях.IE хранит идентификатор пользователя, имя и адрес электронной почты в таблице сообщений.Тогда просто подключитесь, когда пользователь обновит эту информацию, чтобы обновить всю информацию в сообщениях.
Опция, о которой я или мой друг не подумали.
Я ценю любую помощь, пытаясь обернуть голову вокруг моделирования данных монго.