Сложные и множественные связи базы данных в MongoDB - PullRequest
0 голосов
/ 20 февраля 2019

В настоящее время я пытаюсь смоделировать структуру базы данных 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?

Или есть более простой способ и структура для достижения этого?

...