В настоящее время я пытаюсь смоделировать структуру базы данных MongoDB, в которой сущности очень сложны по отношению друг к другу.
В моих текущих коллекциях запросы MongoDB трудно или невозможно поместить в одну агрегацию.Кстати, я не специалист по базам данных и работаю с MongoDB всего около полугода.
Чтобы сделать его максимально простым, но необходимым, это моя задача:
Iиметь газету статьи , которые содержат простых ключевых слов , работ (произведения, книги, фильмы), лиц и связанных комбинаций работи человек .Кроме того, одни и те же люди появляются в разных статьях под разными именами.
Позже, в представлении лица я хочу показать следующее:
- ссылки человека с именем иработа и соответствующие статьи
- статьи, в которых человек появляется без работы (по имени)
- другие ключевые слова, которые все еще находятся в статье
В моей структуре я хочу избегать, чтобы объекты такиекак люди встречаются несколько раз.Итак, это мои текущие коллекции:
<code>
<strong>Article</strong>
id
title
keywordRelations
<code>
<strong>KeywordRelation</strong>
id
type (single or combination)
simpleKeywordId (optional)
personNameConnectionIds (optional)
workIds (optional)
<code>
<strong>SimpleKeyword</strong>
id
value
<code>
<strong>PersonNameConnection</strong>
id
personId
nameInArticleId
<code>
<strong>Person</strong>
id
firstname
lastname
<code>
<strong>NameInArticle</strong>
id
name
type (e.g. abbreviation, synonyme)
<code>
<strong>Work</strong>
id
title
Для удовлетворениятребования, я всегда должен был бы создавать запросы, которые варьируются от 3 до 4 таблиц.Это возможно и полезно с MongoDB?
Или есть более простой способ и структура для достижения этого?